Como uso um bastion host para me conectar com segurança à minha instância Linux do EC2 em uma sub-rede privada?

5 minuto de leitura
0

Quero usar um bastion host para me conectar à minha instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) que está sendo executada em uma sub-rede privada.

Breve descrição

As instâncias do EC2 Linux usam arquivos de par de chaves SSH como o método de autenticação padrão. Os arquivos de par de chaves eliminam a necessidade de nomes de usuário e senhas SSH. Para manter um ambiente seguro, nunca armazene chaves privadas no bastion host. Para se conectar usando um bastion host, use o encaminhamento ssh-agent no cliente. O ssh-agent permite que um administrador se conecte do bastion a outra instância sem armazenar a chave privada nele.

Resolução

Pré-requisitos

  • O bastion host deve estar presente na sub-rede pública do VPC para que você possa acessar o host pela Internet.
  • Configure o grupo de segurança da instância privada do Linux para aceitar conexões SSH somente do bastion host.
  • Configure o grupo de segurança do bastion host para permitir conexões SSH (TCP/22) somente de endereços IP conhecidos e confiáveis.

Configurar o encaminhamento ssh-agent em um cliente macOS ou Linux

Observação: o pacote openssh-clients é instalado por padrão na maioria das distribuições Linux e macOS e contém ssh-agent.

1.    Execute o comando a seguir para iniciar o ssh-agent em segundo plano. O ssh-agent armazena suas chaves SSH na memória.

#  eval $(ssh-agent)

2.    Execute o comando a seguir para adicionar a chave SSH ao ssh-agent:

# ssh-add "/path/to/key.pem"

3.    Execute o comando a seguir para verificar se as chaves foram adicionadas ao ssh-agent:

# ssh-add -l

4.    Execute o comando a seguir para se conectar ao bastion host. No comando a seguir, substitua User e Bastion_Host_****IP_address pelos valores corretos para seu caso de uso.

# ssh -A User@Bastion_Host_IP_Address

Observação: certifique-se de incluir a identificação -A no comando anterior. Se você não adicionar a identificação -A, o encaminhamento ssh-agent não funcionará porque as chaves não foram adicionadas à memória. Depois de adicionar as chaves SSH à memória, não é preciso especificar a chave SSH em si usando a identificação -i. Isso ocorre porque o SSH tenta usar automaticamente todas as chaves SSH salvas no ssh-agent.

5.    Depois de se conectar ao bastion host, execute o comando a seguir para se conectar à instância privada do Linux. No comando a seguir, substitua User e Private_instance_IP_address pelos valores corretos para seu caso de uso.

# ssh User@Private_instance_IP_address

Se a chave privada correspondente para a instância privada for carregada no ssh-agent, a conexão será bem-sucedida.

Configurar o encaminhamento ssh-agent em um cliente Windows

Você pode se conectar às instâncias do Linux VPC a partir do Windows usando o PuTTY (um cliente SSH gratuito para Windows). Para obter a funcionalidade do agente SSH, use o Pageant (um agente de autenticação SSH). O Pageant guarda suas chaves privadas na memória. Quando o Pageant é instalado, você pode usar a opção de encaminhamento de agentes no PuTTY para se conectar a instâncias em sub-redes privadas.

1.    Baixe e instale o PuTTY e o Pageant na página de download do PuTTY.

2.    O PuTTY não oferece suporte nativo ao formato PEM para chaves SSH. Para se conectar à sua instância usando o PuTTY, use o PuTTYgen para converter sua chave privada do formato PEM para o formato PuTTY. O PuTTYgen está disponível na página de download do PuTTY. Para mais informações, consulte Converter sua chave privada usando o PuTTYgen.

3.    Abra o Pageant e adicione as chaves privadas. Para importar a chave formatada em PuTTY para o Pageant, inicie a aplicação Pageant no menu Iniciar. Por padrão, o Pageant abre minimizado na bandeja do sistema.

Observação: se o ícone do Pageant não estiver visível na bandeja do sistema, use as configurações da barra de tarefas para adicioná-lo. Para mais informações, consulte Personalizar a área de notificação da barra de tarefas no site support.microsoft.com

4.    Para adicionar suas chaves SSH, clique com o botão direito do mouse no ícone Pageant na bandeja do sistema e selecione Adicionar chave. Para ver a chave adicionada, clique com o botão direito do mouse no ícone Pageant na bandeja do sistema e selecione Exibir chaves

5.    Conclua as etapas a seguir para iniciar uma sessão PuTTY SSH e ativar a opção Permitir encaminhamento de agentes:

  • No menu Iniciar selecione Todos os programas, PuTTY, PuTTY.
  • No painel Categoria selecione Sessão.
  • No campo Nome do host, execute uma das ações a seguir:
    Para se conectar usando o nome DNS público da sua instância, digite user-name@instance-public-dns.
    Para se conectar usando o endereço IPv4 da sua instância, digite user-name@instance-IPv4-address.
  • Selecione Tipo de conexão, SSH e verifique se o valor da Porta é 22.
  • No painel Categoria, expanda Conexão, SSH e selecione Autenticação.
  • Selecione Permitir encaminhamento de agentes.
  • Selecione Abrir.

6.    Você pode se conectar do bastion a qualquer instância na VPC sem ter a chave privada SSH no bastião. Use o comando a seguir para se conectar a outras instâncias. No comando a seguir, substitua User e Private_instance_IP_address pelos valores corretos para seu caso de uso.

# ssh User@Private_instance_IP_address

Se a chave privada correspondente para a instância privada for carregada no Pageant, a conexão será bem-sucedida.

AWS OFICIAL
AWS OFICIALAtualizada há um ano