Eu poderia fazê-lo funcionar substituindo
#ProxyCommand nohup ssh gw netcat -w1 %h %p
com
ProxyCommand nohup ssh gw -W %h:%p
que funciona para o OpenSSH moderno. Agora não estou conseguindo um tempo limite imediato.
Eu quero rsync um diretório de um servidor para o meu cliente. Não consigo acessar o servidor diretamente, mas preciso passar por um gateway ssh. Do meu '.ssh / config':
Host gw
User ab123456
HostName gw.somewhere.ac.uk
IdentityFile ~/.ssh/id_dsa.pub
ServerAliveInterval 60
Host remote
User me
HostName remote.somewhere.ac.uk
IdentityFile ~/.ssh/id_dsa.pub
ProxyCommand nohup ssh gw netcat -w1 %h %p
ServerAliveInterval 60
Funciona bem para sessões ssh
interativas, mas rsync
falha. Às vezes imediatamente, às vezes depois de alguns segundos, sempre antes de copiar qualquer arquivo:
$ rsync -av remote:/path/to/somewhere/ somewhere/
nohup: redirecting stderr to stdout
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.0]
$ rsync -av remote:/path/to/somewhere/ somewhere/
nohup: redirecting stderr to stdout
Access to this system is monitored etc. etc.
receiving incremental file list
Write failed: Broken pipe
rsync: connection unexpectedly closed (12288 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [receiver=3.1.0]
rsync: connection unexpectedly closed (16336 bytes received so far) [generator]
rsync error: unexplained error (code 255) at io.c(226) [generator=3.1.0]
Suponho que esse problema esteja relacionado ao netcat
gateway através da máquina gw
. Como posso usar o rsync corretamente quando preciso usar uma conexão multi-hop?
Estou usando o netcat porque meu colega me forneceu esse arquivo de configuração e funciona para o ssh normal.
Observe que, diferentemente da situação em esta pergunta , tenho o mesmo problema quando substituo rsync -av
por scp -pr
(e preciso da capacidade de rsync
s de sincronizar corretamente).
Eu poderia fazê-lo funcionar substituindo
#ProxyCommand nohup ssh gw netcat -w1 %h %p
com
ProxyCommand nohup ssh gw -W %h:%p
que funciona para o OpenSSH moderno. Agora não estou conseguindo um tempo limite imediato.