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
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?
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
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
Tags ssh debian linux debian-wheezy