Quais métodos posso usar para me conectar à minha instância Linux do EC2?
Quero saber quais opções estão disponíveis para me conectar à minha instância Linux do Amazon Elastic Compute Cloud (Amazon EC2).
Breve descrição
Há quatro métodos para se conectar às instâncias Linux do Amazon EC2:
- Shell seguro (SSH)
- Console de série do EC2 para instâncias Linux
- Session Manager, um recurso do AWS Systems Manager
- Conexão de instância do Amazon EC2
Resolução
SSH
Limitações:
- O SSH não tem registro e auditoria de conexão integrados.
- A AWS implanta um único par de chaves para autenticação via SSH em cada instância do EC2.
- Se você perder o par de chaves, não poderá regenerá-lo. Para obter mais informações, consulte Como me conectar à minha instância do Amazon EC2 se eu perdi meu par de chaves SSH após a execução inicial?
Importante: Certifique-se de preencher todos os pré-requisitos antes de se conectar à sua instância.
Método 1: Use uma janela de terminal
Abra uma janela de terminal (Linux ou macOS) e execute o comando SSH para se conectar à instância.
Use o nome de domínio público:
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
Use o endereço IPv4 público:
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address
Use o endereço IPv6 público:
ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address
Para mais informações, consulte Conectar-se à sua instância Linux usando um cliente SSH.
Método 2: Usar OpenSSH do Windows
1. Execute o comando a seguir para usar o PowerShell para instalar o OpenSSH para Windows.
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Observação: para instalar o OpenSSH, você deve executar o PowerShell como administrador.
2. Execute o comando SSH para se conectar à sua instância:
Use o nome de domínio público:
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
Use o endereço IPv4 público:
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address
Use o endereço IPv6 público:
ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address
Método 3: Usar PuTTY do Windows
1. Use o PuTTYgen para converter sua chave privada.
2. Use o PuTTY para se conectar a sua instância.
3. Inicie o PuTTY.
4. Em Categoria, escolha Sessão.
5. Em Nome do host, insira a combinação nome de usuário/nome do host:
Use o nome de domínio público:
instance-user-name@instance-public-dns-name
Use o endereço IPv4 público:
instance-user-name@instance-IPv4-address
Use o endereço IPv6 público:
instance-user-name@instance-IPv6-address
6. Certifique-se de que o valor da Porta corresponda à porta do serviço SSH (22 padrão).
7. Em Tipo de conexão, escolha SSH.
8. Em Categoria, expanda Conexão, expanda SSH e escolha Auth.
9. Escolha Procurar e selecione o arquivo .ppk que você gerou para o seu par de chaves.
10. Escolha Abrir.
Observação: na primeira vez que você se conectar a uma instância, deve confirmar que confia no host remoto.
Console de série do EC2 para instâncias Linux
O console de série do EC2 estabelece uma conexão serial com instâncias do EC2 que permite solucionar problemas de inicialização e conectividade de rede.
Limitações:
- Somente uma única conexão ativa do console de série é suportada por instância.
- Deve haver um intervalo de pelo menos 30 segundos entre as sessões.
- Há uma pequena queda no throughput da sua instância durante a sessão do console de série do EC2.
- Instâncias do Xen não são suportadas.
- O console de série do EC2 não é compatível com zonas do Wavelength e AWS Outposts.
- O console de série do EC2 é suportado somente em algumas regiões da AWS.
Importante: Certifique-se de preencher todos os pré-requisitos antes de se conectar usando o console de série E2.
Método 1: Use o cliente baseado em navegador
1. Abra o console do EC2.
2. Escolha Instâncias.
3. Selecione sua instância e, em seguida, escolha Ações, Monitorar e solucionar problemas, Console de série do EC2, Conectar. Ou escolha a instância e, em seguida, selecione Conectar, Console de série do EC2, Conectar.
4. Quando a janela do terminal do navegador abrir, pressione Enter. Se uma solicitação de login aparecer, digite o nome do usuário baseado em senha e pressione Enter.
No prompt Senha, digite a senha e pressione Enter.
Método 2: Usar SSH
1. Envie sua chave pública SSH para a instância para iniciar uma sessão de console de série:
aws ec2-instance-connect send-serial-console-ssh-public-key \ --instance-id i-0123456789EXAMPLE \ --serial-port 0 \ --ssh-public-key file://my_key.pub \ --region us-east-1
Observação: no comando de exemplo anterior, certifique-se de adicionar o prefixo file:// ao caminho da chave pública SSH.
2. Use sua chave privada para se conectar ao console de série:
ssh -i my_key i-0123456789EXAMPLE.port0@serial-console.ec2-instance-connect.us-east-1.aws
3. (Opcional) Verifique a impressão digital. Compare a impressão digital que aparece na primeira vez em que você se conecta ao console de série com a impressão digital exclusiva do console de série do EC2 da região.
4. Se um prompt retornar, digite o nome do usuário baseado em senha e pressione Enter.
5. No prompt Senha, digite a senha e pressione Enter.
Session Manager
O Session Manager permite acesso seguro aos nós gerenciados sem abrir portas de entrada ou gerenciar uma chave SSH. Você pode usar os eventos do AWS CloudTrail para auditar as sessões do Session Manager e controlar as sessões com políticas do AWS Identity and Access Management (IAM).
Limitações:
- Você não pode transferir arquivos com o Session Manager.
Observação: em vez disso, use um bucket do S3 e a AWS CLI para trocar dados. - O registro não está disponível para sessões do Session Manager que se conectam por meio de encaminhamento de porta ou SSH. Isso ocorre porque o SSH criptografa todos os dados da sessão, e o Session Manager serve apenas como um túnel para conexões SSH.
- O AWS Systems Manager não é compatível com todos os sistemas operacionais (SO). Para mais informações, consulte Sistemas operacionais compatíveis.
Importante: Certifique-se de preencher todos os pré-requisitos antes de usar o Session Manager para se conectar à sua instância.
É uma prática recomendada criar endpoints da VPC para usar com o Systems Manager:
- Abra o console do Systems Manager.
- Escolha Session Manager.
- Escolha Iniciar sessão.
- (Opcional) Insira uma descrição da sessão no campo Motivo da sessão.
- Selecione o nó gerenciado ao qual você deseja se conectar e escolha Iniciar sessão para iniciar imediatamente a sessão.
-ou-
(Opcional) Use um documento personalizado para definir as configurações da sessão, incluindo duração, criptografia e log:
Em Opções de sessão, escolha Avançar.
Em Documento da sessão, selecione o documento que você deseja executar quando a sessão começar. Se o documento oferecer suporte a parâmetros de tempo de execução, você poderá inserir um ou mais valores separados por vírgula em cada campo de parâmetro.
Escolha Avançar.
Escolha Iniciar sessão.
Use o console do EC2 para se conectar
- Abra o console do EC2.
- Escolha Instâncias.
- Selecione a instância e escolha Conectar.
- Em Método de conexão, escolha Session Manager.
- Escolha Conectar.
Use a AWS CLI para se conectar
Observação:
- se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), verifique se está usando a versão mais recente da AWS CLI.
- Para usar a AWS CLI para executar comandos de sessão, você deve instalar o plug-in do Session Manager em sua máquina local.
Execute o seguinte comando:
aws ssm start-session --target instance-id
Use SSH no Session Manager para se conectar
Requisitos:
- Você deve configurar suas instâncias gerenciadas por destino para oferecer suporte a conexões SSH.
- A versão do AWS Systems Manager Agent (AWS SSM Agent) em execução deve ser 2.3.672.0 ou posterior.
- Você tem acesso ao certificado Privacy Enhanced Mail (PEM) e pode usar a conta associada a ele para se conectar. Por exemplo, conta de usuário “ubuntu” para nós gerenciados pelo Ubuntu.
Para usar o SSH para iniciar uma sessão, execute o seguinte comando:
ssh -i /path/my-key-pair.pem username@instance-id,/code>
Conexão de instância do Amazon EC2
O EC2 Instance Connect permite acesso seguro à sua instância por meio de SSH. O EC2 Instance Connect fornece várias opções para se conectar à sua instância sem compartilhar suas chaves SSH.
Limitações:
- O EC2 Instance Connect tem suporte limitado para distribuições Linux.
- As configurações **AuthorizedKeysCommand ** e AuthorizedKeysCommandUser ainda não devem estar definidas.
- O EC2 Instance Connect não é suportado em zonas locais.
- Um endereço IPv4 público é obrigatório para se conectar quando você usa o console do Amazon EC2.
- O EC2 Instance Connect não aceita o uso de um endereço IPv6 para se conectar.
Importante: Certifique-se de preencher todos os pré-requisitos antes de usar o Amazon EC2 Instance Connect.
Usar o console do Amazon EC2 para se conectar (somente para instâncias com endereço público IPv4)
1. Abra o console do Amazon EC2.
2. No painel de navegação, escolha Instâncias.
3. Selecione a instância e escolha Conectar.
4. Escolha EC2 Instance Connect.
5. Verifique o nome de usuário e escolha Conectar para abrir uma janela do terminal.
Usar sua própria chave e cliente SSH para se conectar
Observação: você deve instalar a CLI do EC2 Instance Connect na instância à qual está se conectando.
1. Execute o comando a seguir para gerar novas chaves SSH privadas e públicas:
ssh-keygen -t rsa -f my_key
2. Envie sua chave pública SSH para a instância:
Amazon Linux:
aws ec2-instance-connect send-ssh-public-key \ --region us-west-2 \ --instance-id i-0123456789Amzn \ --instance-os-user ec2-user \ --ssh-public-key file://my_key.pub
Ubuntu:
aws ec2-instance-connect send-ssh-public-key \ --region us-west-2 \ --instance-id i-0123456789Ubuntu \ --instance-os-user ubuntu\ --ssh-public-key file://my_key.pub
Observação: no comando de exemplo anterior, certifique-se de adicionar o prefixo file:// ao caminho da chave pública SSH.
3. Use sua chave privada para se conectar à instância:
Amazon Linux:
ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@instance-public-dns-name
Ubuntu:
ssh -o "IdentitiesOnly=yes" -i my_key ubuntu@instance-public-dns-name
Observação: o nome DNS público de uma instância padrão do Amazon EC2 é semelhante a ec2-12-34-56-78.us-west-2.compute.amazonaws.com. O nome consiste no domínio da AWS, no serviço (computação, neste exemplo), na região e em uma forma do endereço IP público.
Usar a CLI da instância do EC2 para se conectar
Amazon Linux:
$mssh i-0123456789Amzn
Ubuntu:
$mssh ubuntu@i-0123456789Ubuntu
Conteúdo relevante
- AWS OFICIALAtualizada há 2 meses
- AWS OFICIALAtualizada há 10 meses