Como uso um bastion host para me conectar com segurança à minha instância Linux do EC2 em uma sub-rede privada?
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.
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há um ano