
You have no controlling tty and no DISPLAY. Cannot read passphrase.
warning: Authentication failed.
Disconnected (local); authentication cancelled by user (Authentication cancelled by user.).
Disconnect reason 13, exit code = 77
scp: warning: ssh2 client failed to authenticate. (or you have too old ssh2 installed, check with ssh2 -V)
Recebo esse erro quando executo meu script. ssh está funcionando nos dois sentidos entre os servidores
Responder1
Seu problema é que você está usando algum tipo de método de autenticação que requer uma entrada do usuário (no seu caso, aparentemente, uma senha para descriptografar uma chave privada ou talvez uma senha), mas seu programa não pode receber nenhuma entrada do usuário porque não foi iniciado em uma sessão gráfica (evitando ssh
a geração de um formulário de janela solicitando a senha) nem em um terminal (portanto, ssh
não é possível solicitar interativamente a senha).
ssh
funciona quando você testa a abertura de uma sessão porque neste caso você está iniciando ssh
em um terminal então não há problema em obter a senha.
O que você precisa se o seu script for executado sem um tty de controle (por exemplo, como um cron job) é uma autenticação não interativa. Por exemplo, uma chave privada sem senha. Claro, isso é um tanto inseguro e você provavelmente deseja restringir o conjunto de comandos executáveis pelo seu script por meio de ssh para evitar que invasores que conheçam a chave privada obtenham um shell completo no servidor.