Error de clave SSH, sudo funciona bien

Cuando intento ingresar using ssh user@server.coma mi servidor en casa desde la red local o desde el exterior, recibo el siguiente error:ingrese la descripción de la imagen aquí

Pero si uso sudo ssh user@server.com, funciona sin problemas:ingrese la descripción de la imagen aquí

Estoy seguro de que solo necesito colocar algún tipo de clave en ese /Users/mattlove/.ssh/known_hostsdirectorio, pero no estoy seguro de cómo o por qué.

¿Alguno de ustedes, aficionados a UNIX, tiene una respuesta?

EDITAR :

Aquí están los resultados de correr ls -l ~/.ssh/known_hostssegún lo solicitado por @LoïcWolff

ingrese la descripción de la imagen aquí

Buena pregunta :) Tuve este problema hace un tiempo. Bonito nombre de máquina por cierto.
@Robin Tengo un tema de nombre de Star Trek en mi casa. El nombre de la red es The Alpha Quadrant, el servidor es DS9, iPhone es comunicador, AirPort Express es agujero de gusano. Es bastante impresionante. :)
@MattLove Me he estado devanando los sesos durante meses buscando un tema para los nombres de mis máquinas, aún no he podido decidirme por uno :(

Respuestas (2)

La primera vez que se conecta a un servidor, se le solicita que acepte la huella digital del host al que se está conectando. La huella digital es una combinación de una firma digital, el nombre de host y la dirección IP del servidor. Cuando acepta, la huella digital se guarda ~/.ssh/known_hostscomo un host "de confianza".

Por alguna razón, la huella digital del servidor ha cambiado desde la primera vez que se conectó a él. Esto puede deberse a que no es el servidor que espera que sea, por ejemplo, cuando su solicitud está siendo interceptada y redirigida a un servidor diferente. De ahí la advertencia de seguridad. La explicación también podría ser menos maliciosa, por ejemplo, cuando el servidor se reemplazó/reinstaló sin restaurar su firma digital anterior, o cuando la dirección IP cambió.

Si a pesar de la advertencia de seguridad, aún confía en el servidor al que se está conectando, debe abrir ~/.ssh/known_hostsy buscar la línea que comienza con la dirección del servidor al que se está conectando. Elimine toda la línea y guarde sus cambios, luego vuelva a conectarse al servidor. La primera vez que se conecte, debería solicitarle nuevamente que acepte la huella digital actualizada, después de lo cual no debería tener más problemas para conectarse a ese host.

La razón por la que funcionaría sudoes porque en esas condiciones lo está ejecutando como un usuario diferente (raíz), y cada usuario tiene su propio archivoknown_hosts (para raíz, se encuentra en /private/var/root/.ssh/known_hosts). Es posible que root nunca haya registrado la huella digital anterior de ese host y, por lo tanto, no tiene forma de compararla con la actual y no hay motivos para desconfiar del servidor.

Usted es un maestro señor. De hecho, solo arrastré el archivoknown_hosts al escritorio y me volví a conectar sin problemas. Recientemente bajé la categoría de mi servidor de Lion Server a Snow Leopard Server, así que probablemente así fue como sucedió. ¡Gracias!

El known_hostsarchivo contiene las claves de los hosts a los que se ha conectado anteriormente y ha verificado que ha comprobado que la firma de la clave es correcta.

En tu caso, ha sucedido una de dos cosas,

  1. La clave en el servidor ha cambiado desde que lo aprobó para su cuenta, pero no desde que se aprobó para la rootcuenta.
  2. Hay un atacante que intercepta las comunicaciones entre usted y el servidor, y ha aprobado su clave para la rootcuenta y tiene la clave correcta en su cuenta.

Lo más probable es que sea el caso 1: los ataques man-in-the-middle en SSH, si bien son posibles, son relativamente raros. La advertencia está ahí para alertarlo sobre el hecho de que alguien puede estar interceptando sus comunicaciones, aunque las posibilidades de que esto suceda son bastante bajas.

Para resolver esto, abra el known_hostsarchivo y elimine la entrada del host en cuestión. Póngase en contacto con el administrador del sistema del host y pídale la 'huella digital de la clave del host'. Realice su conexión nuevamente, verifique que la huella digital coincida con la que obtuvo del Administrador del sistema y apruebe la clave.

Si la huella digital no coincide con la proporcionada por el administrador del sistema del host remoto, ¡NO apruebe la clave!

Gracias. @Gerry se le adelantó, pero terminé arrastrando el archivoknown_hosts al escritorio y me volví a conectar sin problemas. Recientemente bajé la categoría de mi servidor de Lion Server a Snow Leopard Server, así que probablemente así fue como sucedió. ¡Gracias!