Había configurado una instancia de Ubuntu con un paquete Rails, implementé mi aplicación y está funcionando bien.
Pero cuando intento hacer SSH, no soy yo lo que permite la conexión remota y arroja errores como: Host key verification failed
.
El problema parece ser persistente. He adjuntado la IP elástica a esa instancia y no puedo ver el DNS público.
Mi instancia se está ejecutando en la región de Singapur.
ssh
salida de depuración:
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
fuente
fuente
Respuestas:
Cuando se conecta a un servidor ssh, su cliente ssh mantiene una lista de hosts de confianza como pares clave-valor de IP y huella digital del servidor ssh. Con ec2, a menudo reutiliza la misma IP con varias instancias de servidor, lo que causa conflictos.
Si se ha conectado a una instancia ec2 anterior con esta IP y ahora se conecta a una nueva instancia con la misma IP, su computadora se quejará de "Error de verificación del host" ya que su par almacenado anteriormente ya no coincide con el nuevo par.
El mensaje de error te dice cómo solucionarlo:
Alternativa simplemente abra /home/ubuntu/.ssh/known_hosts y elimine la línea 1 (como lo indica ": 1").
Ahora puede conectarse y recibir una nueva verificación de host.
Tenga en cuenta que, por lo general, el archivo known_hosts de ssh generalmente ha almacenado un segundo par de líneas para el nombre de host o el valor de ip6, por lo que es posible que deba eliminar un par de líneas.
Advertencia: la verificación del host es importante y es una buena razón por la que recibe esta advertencia. Asegúrese de esperar que la verificación del host falle. No elimine el par clave-valor de verificación si no está seguro.
fuente
La respuesta de @flurdy es buena como una resolución única.
Pero si a menudo:
..sin usar IP elásticas (permanentemente conectadas a sus servidores), entonces se ocupa de IP / nombres de host nuevos / cambiantes de sus instancias todo el tiempo .
Si es así, es posible que desee detener permanentemente la comprobación de SSH y el almacenamiento de huellas digitales del servidor para nombres de host públicos EC2 .
Para hacer eso solo agregue esto a su
~/.ssh/config
:Tenga en cuenta que SSH seguirá diciendo
Warning: Permanently added (...) to the list of known hosts.
cuando se conecte, pero solo significa que lo ha agregado a/dev/null
...Sin embargo, SSH dejará de preguntarle
confirm the authenticity of host
y continuará conectándose.Por lo tanto, es más conveniente y puede evitar que no siempre se produzcan errores de conexión SSH lo suficientemente detallados al usar sus instancias EC2.
Debo agregar que, en teoría, esta configuración reduce la seguridad de sus conexiones SSH, pero en la vida real probablemente no verifique las huellas digitales de sus instancias únicas de EC2 de todos modos.
fuente