Я хочу выполнить синхронизацию каталога с сервера на мой клиент. Я не могу получить доступ к серверу напрямую, но мне нужно перепрыгнуть через шлюз ssh. Из моего '.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
Он отлично работает для интерактивных сеансов ssh
, но rsync
не работает. Иногда сразу, иногда через несколько секунд, всегда перед копированием любых файлов:
$ 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]
Я полагаю, эта проблема связана со шлюзом netcat
через машину gw
. Как я могу правильно использовать rsync, когда мне нужно использовать многопоточное соединение?
Я использую netcat, потому что мой коллега дал мне этот файл конфигурации, и он работает для обычного ssh.
Обратите внимание, что в отличие от ситуации из этого вопроса , у меня возникает та же проблема, когда я заменяю rsync -av
на scp -pr
(и мне действительно нужно rsync
способность правильно синхронизировать).