A verificação da chave do host falhou mesmo que conhecidos_hosts estejam corretos

A verificação da chave do host falhou mesmo que conhecidos_hosts estejam corretos

Estou executando um servidor Debian 7 Wheezy e estou tendo problemas para me conectar a outros servidores via SSH. Este problema ocorre apenas durante a execução do SSH por meio do crontab, e não de outra forma (logado como o mesmo usuário, é claro).

Ao executar um comando ssh como este usuário por meio do crontab, recebo o seguinte problema:

Host key verification failed.

Removi o ~/.ssh/known_hostsarquivo e conectei-me manualmente ao servidor para que a chave do host estivesse correta.

Ao executar o SSH com o -vsinalizador, recebo o seguinte:

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

Se eu listar, /dev/ttytem 666 permissões:

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

Também configurei manualmente as permissões para 666 depois de listar /dev/ttypara ter certeza absoluta.

Por que o SSH diz que não consegue ler / dev/tty? Estou explorando isso há semanas e não encontrei uma resposta. Alguém tem uma pista?

Responder1

Você não pode se conectar com uma chave protegida por senha a partir de um script sem um agente (ou pelo menos uma maneira de fornecer uma senha), o daemon ssh está aguardando uma entrada que você não pode fornecer sem tty.

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

Responder2

O SSH diz que não pode ler /dev/ttyporque você não o chamou de um console, mas do crontab. O /dev/ttydispositivo é o terminal controlador do processo atual e quando você inicia um processo a partir do crontab ele não possui terminal associado, portanto não pode acessar esse dispositivo.

Há uma explicação melhor aqui:https://stackoverflow.com/questions/8514735/what-is-special-about-dev-tty

informação relacionada