En Terminal, ¿cómo agrego una clave de host al archivo conocido_hosts?

7

En Terminal, ¿cómo agrego una clave de host al archivo conocido_hosts? Además, ¿cómo elimino una clave de host determinada del mismo archivo?

Intento ingresar a una computadora en mi escuela y cuando escribo el comando [email protected], me devuelve:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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
fb:59:b6:4f:e0:9d:99:64:12:44:c8:16:1c:46:b0:92.
Please contact your system administrator.
Add correct host key in /Users/johndoe/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/johndoe/.ssh/known_hosts:1
RSA host key for mu.math.umn.edu has changed and you have requested strict checking.
Host key verification failed.

No estoy seguro, pero creo que lo que quiero hacer es agregar esta "huella digital para la clave RSA" al archivo conocido_hosts.

Sam
fuente

Respuestas:

6

Puede usar cualquier editor de texto para editar ~/.ssh/known_hosts, como nano o vi. Usa el formato ...

serverIP ssh-rsa key

Según la pregunta editada, parece que tiene una clave no válida en el archivo que no está de acuerdo con la clave proporcionada por el host. Una solución simple es abrir ~ / .ssh / known_hosts en cualquier editor de texto, eliminar la totalidad de la línea 1 (como se indica con "known_hosts: 1" en el error), guardar el archivo e intentar conectarse nuevamente. Esta vez, se le pedirá que agregue la clave y se agregará automáticamente.

El archivo known_hosts almacena claves para los hosts para confirmar que el host al que se está conectando es el host que se espera. Cuando el host cambia la clave, evita todas las conexiones ya que la clave esperada no coincide. Debe eliminar la clave anterior y la nueva clave se agregará automáticamente la próxima vez que intente conectarse.

grg
fuente
¿Entonces esto es algo que debo hacer en un editor de texto, no en un terminal?
Sam
@Itried Respuesta editada basada en la información agregada en cuestión.
grg
Ok, instalé un editor de texto. Ahora, ¿cómo abro ese archivo en MacVim?
Sam
2
@Itried No tengo ninguna experiencia con MacVim. Le sugiero que use TextEdit con open ~/.ssh/known_hostso nano con nano ~/.ssh/known_hosts, los cuales están preinstalados.
grg
1
@testing No agrega nada a la clave, solo usa la clave tal cual. No necesita reiniciar para que los cambios surtan efecto. Una coma que delimita las direcciones IP y los nombres de host permite que una clave se aplique a más de una IP o nombre de host.
grg
1

Parece que la configuración del servidor ssh al que está intentando conectarse ha cambiado. Si conoce el nombre de usuario y la contraseña para la conexión, debe realizar el siguiente procedimiento:

  1. Abra una terminal y escriba:

    open /Users/leo/.ssh/known_hosts
  2. Busque la línea que comienza con la dirección IP del servidor ssh al que está intentando conectarse y termine con el carácter "=" y elimínelo.

  3. Intenta reconectarte con:

    ssh username@IPServer
  4. Ahora debe preguntarse si desea agregar el servidor a los hosts conocidos. Escriba yes y confirme y podrá conectarse nuevamente.

Leonardo Antonio Borrelli
fuente