La primera vez que se conecta a un servidor, se le solicita que acepte la huella digital para el 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 en ~/.ssh/known_hosts
como un host "confiable".
Por alguna razón, la huella digital del servidor ha cambiado desde la primera vez que te conectaste. 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 puede ser menos maliciosa, por ejemplo, cuando el servidor fue reemplazado / reinstalado sin restaurar su firma digital anterior, o cuando la dirección IP ha cambiado.
Si a pesar de la advertencia de seguridad, aún confía en el servidor al que se está conectando, debe abrir ~/.ssh/known_hosts
y buscar la línea que comienza con la dirección del servidor al que se está conectando. Elimine toda la línea y guarde los cambios, luego vuelva a conectarse al servidor. La primera vez que se conecte, deberá solicitarle nuevamente que acepte la huella digital actualizada, después de lo cual no tendrá más problemas para conectarse a ese host.
La razón por la que funcionaría con sudo
es porque en esas condiciones lo está ejecutando como un usuario diferente (root), y cada usuario tiene su propio archivo conocido_hosts (para root, se encuentra en /private/var/root/.ssh/known_hosts
). Es posible que la raíz nunca haya registrado la huella digital anterior de ese host, por lo que no tiene forma de compararlo con la actual, y no hay razón para desconfiar del servidor.