Falha na verificação da chave do host, mesmo sabendo que o known_hosts está correto

2

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

Ao executar um comando ssh como este usuário através do crontab, recebo o seguinte problema:

Host key verification failed.

Eu removi o arquivo ~/.ssh/known_hosts e conectei manualmente ao servidor para que a chave do host estivesse correta.

Ao executar o SSH com o sinal -v , recebo o seguinte:

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

Se eu listar /dev/tty , ele terá 666 permissões:

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

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

Por que o SSH diz que não pode ler / dev/tty ? Eu tenho explorado isso há semanas e não encontrei uma resposta. Alguém tem uma pista?

    
por Hans-Filip Elo 22.06.2015 / 19:48

2 respostas

2

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

veja: link

    
por 23.06.2015 / 08:02
1

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

Há uma explicação melhor aqui: link

    
por 23.06.2015 / 17:06