Por favor, execute ssh-agent
após o logon no host do remote1.
Eu posso fazer o seguinte:
$local> ssh -A remote1
$remote1> rsync -e "ssh remote2 ssh " remote3:/file .
$remote1>
e isso funciona porque as chaves para remote1
e remote2
estão no meu chaveiro gnome e remote3
não requer uma senha. No entanto, o seguinte falha:
$local> ssh -A remote1 "./scriptOnRemote1.sh"
em que scriptOnRemote1.sh
executa exatamente o mesmo comando rsync. Produz os seguintes erros:
Permission denied, please try again.
ssh_askpass: exec(/usr/lib64/ssh/ssh-askpass): No such file or directory
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(235) [Receiver=3.1.0]
A diferença entre as saídas detalhadas desses dois casos começa com
pubkey_prepare: ssh_get_authentication_socket: No such file or directory
Por que isso está acontecendo?
Por favor, execute ssh-agent
após o logon no host do remote1.
Está acontecendo porque o script que você está executando não acessa sua chave. Também não deve funcionar se você fez:
ssh -A remote1 'rsync -e "ssh remote2 ssh " remote3:/file .'
Tags ssh gnome-keyring rsync