La verificación de la clave del host falló a pesar de queknown_hosts es correcto

La verificación de la clave del host falló a pesar de queknown_hosts es correcto

Estoy ejecutando un servidor Debian 7 Wheezy y tengo problemas para conectarme a otros servidores a través de SSH. Este problema solo ocurre cuando se ejecuta SSH a través de crontab, y no de otra manera (por supuesto, al iniciar sesión como el mismo usuario).

Mientras ejecuto un comando ssh como este usuario a través de crontab, aparece el siguiente problema:

Host key verification failed.

Eliminé el ~/.ssh/known_hostsarchivo y me conecté manualmente al servidor para que la clave de host sea correcta.

Cuando ejecuto SSH con la -vbandera, aparece lo siguiente:

debug1: read_passphrase: can't open /dev/tty: No such device or address
Host key verification failed.

Si enumero /dev/ttytiene 666 permisos:

crw-rw-rw- 1 root root 5, 0 Jun 21 15:49 /dev/tty

También configuré manualmente los permisos en 666 después de enumerarlos /dev/ttypara estar completamente seguro.

¿Por qué SSH dice que no puede leer // dev/tty? He estado explorando esto durante semanas y no he encontrado una respuesta. ¿Alguien tiene una idea?

Respuesta1

No puede conectarse con una clave protegida con frase de contraseña desde un script sin un agente (o al menos una forma de proporcionar una frase de contraseña), el demonio ssh está esperando una entrada que no puede proporcionar sin tty.

ver:https://unix.stackexchange.com/questions/90853/how-can-i-run-ssh-add-automatically- without-password-prompt

Respuesta2

SSH dice que no puede leer /dev/ttyporque no lo llamaste desde una consola, sino desde crontab. El /dev/ttydispositivo es el terminal controlador para el proceso actual y cuando inicia un proceso desde crontab no tiene un terminal asociado, por lo que no puede acceder a ese dispositivo.

Hay una mejor explicación aquí:https://stackoverflow.com/questions/8514735/what-is-special-about-dev-tty

información relacionada