Preciso de acesso SSH a uma instância do Amazon EC2 executando o Ubuntu 10.4. Tudo o que tenho é o nome de usuário e a senha da Amazon. Alguma ideia?
Respostas:
Basicamente, você precisa de um arquivo de chave privada para fazer o login em seu EC2 via SSH. Siga estas etapas para criar um:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- o nome de usuário root foi evitado nas versões mais recentes, com base em sua seleção de distribuição ec2-user
ou ubuntu
como seu nome de usuário.ubuntu
login em vez de root
. Aparentemente, eu tenho uma instância do ubuntu server 12.04.
ec2-user
ou talvez ubuntu
, mas não root
.
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
apenas use em ubuntu
vez de root
. Seu problema será resolvido. Felicidades!
PASSO 1) Baixe as chaves privadas atribuídas à sua máquina ec2 (que é apenas uma vez baixado quando criado. Então recomendado para confirmar em algum lugar)
PASSO 2) e disparar os seguintes comandos,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
Documento oficial : Conectando-se às suas instâncias Linux / Unix usando SSH
Você precisa criar um par de chaves primeiro - faça isso usando seu console EC2. Em seguida, use sua chave privada para SSH no servidor (o nome de usuário éec2-user
) usando um cliente SSH de sua escolha.
Uma vez dentro, você pode emitir um sudo su -
para obter root se quiser (nota: você não pode logar como root diretamente).
Se você estiver usando MacOS, deve criar / editar o arquivo de configuração SSH (~ / .ssh / config) e colocar algo como:
Host *.amazonaws.com
User ubuntu
Port 22
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem
Em seguida, para se conectar a qualquer uma das instâncias EC2:
ssh MYNAME.amazonaws.com
Nada mais!
Para configurar o Ubuntu no AWS, siga as seguintes etapas:
Para acessar a instância via SSH, execute:
Conecte-se ao Linux especificando seu arquivo PEM, por exemplo
ssh -i "file.pem" ubuntu@x.x.x.x
Certifique-se de que seu arquivo PEM tenha 600 permissões ( chmod 600 file.pem
).
Se você estiver executando a instância VPC e seu grupo de segurança estiver correto (com as regras certas) e ainda não funcionar, na seção VPC , verifique sua sub-rede que deve ser anexada ao seu VPC (ambos usados por sua instância) e configure nova regra na Tabela de Rotas que tem 0.0.0.0/0
como Destino e seu Gateway de Internet como Alvo .
Para obter mais detalhes, verifique: Solução de problemas de conexão com sua instância
Veja também: Possíveis razões para tempo limite ao tentar acessar a instância EC2
1) Primeiro chmod
o .pem file
de restringir os permissons arquivo como abaixo
chmod 400 my-key-pair.pem
2) Em seguida,
ssh
com os seguintes comandos diretamente da .ssh
pasta
ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com
Nota: - Para navegar na .ssh
pasta. Primeiro pressione Ctrl + H
para exibir todos os arquivos ocultos e finalmentecd .ssh
O problema pode ser não fazer login como o usuário correto para o seu SO Distro. Para certos novos AMI, o nome de usuário pode não ser "ubuntu", mas "ec2-user". Para Amazon Linux, por exemplo, acredito que o usuário seja "ec2-user". Eric Hammond dá exemplos aqui: http://alestic.com/2014/01/ec2-ssh-username
Minha sugestão, tente:
ssh -i /path/to/file.pem ec2-user@ec2...
ssh -i /path/to/file.pem ubuntu@ec2...
ssh -i /path/to/file.pem root@ec2...
Se você tiver o AMI errado, você pode querer apenas reiniciar a máquina completamente para ter uniformidade entre seus clusters. Se este for o seu problema, você provavelmente vai querer o mesmo SO Distro, pelo menos para as suas máquinas Linux.
Fazer o que é sugerido em todas essas respostas não é suficiente. Em cada instância, você vê um grupo de segurança. Ao iniciar uma nova instância, você terá isso definido como padrão. Você precisa editar o grupo de segurança e adicionar a porta ssh dele. Posteriormente, você precisará adicionar as portas 8080, 8443, 80, 443 também quando quiser hospedar seu site.
Aceitei a oferta da AWS para usar os grupos de segurança padrão que incluíam portas 'All Trafic'.
E, depois de muitas e muitas vezes tentar conectar na minha nova instância ec2, acabei de perceber que deveria editar meu grupo de segurança usado e adicionar manualmente à porta 22 de entrada e saída (ssh)!
Espero que ajude !
Primeira permissão de alteração do arquivo pem por
chmod 400 path/to/key_pair.pem
Dentro do arquivo ~ / .ssh / config adicione as seguintes linhas, no topo do arquivo
Host AWS
Hostname myserver.com
User myuser
IdentityFile path/to/.pem/file
port 22
O nome do host obtém o IP ou link do servidor, o nome do usuário obtém o nome do servidor e o arquivo de identidade é baixado da AWS quando você cria a instância. Basta executar o seguinte comando no terminal
ssh AWS
e divirta-se!
Nota : Para navegar na .ssh
pasta. Primeiro pressione Ctrl + H
na pasta inicial para exibir todos os arquivos ocultos e, finalmente,cd .ssh
Certifique-se de que essas coisas estejam sob controle
a chave privada deve ter 400 permissões
Certifique-se de que a porta 22 esteja aberta para a instância AWS que você está tentando acessar.
ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX
// XXX.XXX.XXX.XXX = ip público da sua instância