Eu havia configurado uma instância do Ubuntu com um pacote Rails, implantado meu aplicativo e ele está funcionando bem.
Mas quando eu tento fazer SSH, não é me permitindo o login remoto e gera erros como: Host key verification failed
.
O problema parece ser persistente. Anexei o IP Elastic a essa instância e não consigo ver o DNS público.
Minha instância está sendo executada na região de Cingapura.
ssh
saída de depuração:
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 46.137.253.231 [46.137.253.231] port 22.
debug1: Connection established.
debug1: identity file st.pem type -1
debug1: identity file st.pem-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-4ubuntu6
debug1: match: OpenSSH_5.5p1 Debian-4ubuntu6 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is.
Please contact your system administrator.
Add correct host key in /home/ubuntu/.ssh/known_hosts to get rid of this message.
Offending RSA key in /home/ubuntu/.ssh/known_hosts:1
remove with: ssh-keygen -f "/home/ubuntu/.ssh/known_hosts" -R 46.137.253.231
RSA host key for 46.137.253.231 has changed and you have requested strict checking.
Host key verification failed.
ssh
amazon-ec2
authentication
Jeevan Dongre
fonte
fonte
Respostas:
Quando você se conecta a um servidor ssh, seu cliente ssh mantém uma lista de hosts confiáveis como pares de valores-chave de impressão digital de servidor IP e ssh. Com o ec2, você geralmente reutiliza o mesmo IP em várias instâncias do servidor, o que causa conflito.
Se você se conectou a uma instância anterior do ec2 com esse IP e agora se conecta a uma nova instância com o mesmo IP, seu computador reclama de "Falha na verificação do host", pois seu par armazenado anteriormente não corresponde mais ao novo par.
A mensagem de erro informa como corrigi-lo:
Alternativa simplesmente abra /home/ubuntu/.ssh/known_hosts e exclua a linha 1 (conforme indicado pelo ": 1").
Agora você pode se conectar e receber uma nova verificação de host.
Observe que normalmente o arquivo known_hosts do ssh geralmente armazena um segundo par de linhas para o nome do host ou o valor ip6, portanto, você pode precisar remover algumas linhas.
Aviso: a verificação do host é importante e é um bom motivo para você receber esse aviso. Verifique se você está esperando a verificação do host falhar. Não remova o par de valores-chave de verificação, se não tiver certeza.
fonte
A resposta da @flurdy é boa como uma resolução única.
Mas se você costuma:
..sem usar IPs elásticos (permanentemente conectados aos seus servidores), você lida com novos / alterando IPs / nomes de host de suas instâncias o tempo todo .
Nesse caso, convém interromper permanentemente a verificação do SSH e o armazenamento de impressões digitais do servidor para nomes de host públicos do EC2 .
Para fazer isso, basta adicionar isso ao seu
~/.ssh/config
:Observe que o SSH ainda dirá
Warning: Permanently added (...) to the list of known hosts.
ao se conectar, mas apenas significa que ele foi adicionado ao/dev/null
...No entanto, o SSH deixará de perguntar se você
confirm the authenticity of host
e apenas continuará se conectando.Portanto, é mais conveniente e você pode evitar nem sempre erros de conexão SSH suficientes ao usar suas instâncias do EC2.
Devo acrescentar que, em teoria, essa configuração reduz a segurança de suas conexões SSH, mas na vida real você provavelmente não verificaria as impressões digitais de suas instâncias únicas do EC2.
fonte