Подтвердить что ты не робот

Rsync через туннель ssh

Я хочу rsync к кластеру node, к которому я обычно подключаюсь, проходя через другую систему:

Предположим, что сначала подключаюсь к

  ssh [email protected] 

и оттуда до

  ssh [email protected]

Теперь я хочу rsync с моей рабочей станции на clusternode. Я делаю следующее:

  • Я открываю туннель ssh

    ssh -L8000:clusternode:8000 [email protected]
    
  • I rsync с моей рабочей станции на clusternode

    rsync -e "ssh -p8000" source [email protected]:destination
    

и он не работает, я получаю

 ssh_exchange_identification: Connection closed by remote host

Почему это не работает? Что мне делать?


Я нашел здесь много информации:

http://toddharris.net/blog/2005/10/23/rsyncing-through-an-ssh-tunnel/

Я думаю, чтобы понять, что моя проблема - это вторая аутентификация между мостом и пунктом назначения, поэтому я изменил метод 2, который также не очень изящный, но он работает. Я хотел бы попробовать метод 3, но я не знаю, как настроить демон rsync

4b9b3361

Ответ 1

Вот что сработало для меня.

Я запускаю команду в фоновом режиме для туннелирования на удаленном хосте:

 ssh -N -L 2222:remote.example.com:22 bridge.example.com&

то я rsync на localhost следующим образом:

rsync -auve "ssh -p 2222" . [email protected]:/some/path

Ответ 3

Вы должны подключиться к порту 22 кластерного кода, поэтому туннель должен выглядеть как

ssh -L localhost:8000:clusternode:22 [email protected]