Как я могу rsync с сервера, доступного через ssh *через удаленный сервер входа в систему* на мой локальный компьютер, который не имеет внешнего IP-адреса?

Я могу ssh удаленной системе серверов через логин сервер (ssh user@lxplus.sern.ch). С сервера входа в систему я могу ssh на конкретный сервер (ssh user@supercool). Я не могу получить доступ к конкретному серверу напрямую (ssh user@supercool.sern.ch). Как я могу запустить локальную rsync, чтобы получить каталог с этого конкретного сервера? Я не могу rsync с определенного сервера на локальную машину, потому что моя локальная машина не имеет общедоступного IP-адреса.

5
задан BlandCorporation
22.11.2022 15:55 Количество просмотров материала 2780
Распечатать страницу

1 ответ

так что ваш набор это:

Local Machine --> Intermediate Server --> Remote Server

если вы можете запустить команду rsync на удаленном сервере, и ваша локальная машина работает sshd, вы можете сделать это:

войдите на промежуточный сервер с помощью следующей команды ssh

ssh user@<intermediate server> -R 1024:localhost:22

это создаст обратный туннель SSH. Любые соединения SSH на промежуточном сервере на порту 1024 будут перенаправлены обратно на ваш локальный компьютер.

на этом этапе вы войдете в промежуточный сервер. Затем необходимо расширить туннель до удаленного сервера. На промежуточном сервере выполните:

ssh user@<remote server> -R 1024:localhost:1024

теперь любое SSH-соединение на порту 1024 на удаленном сервере будет возвращено на промежуточный сервер на порту 1024, который затем будет туннелирован обратно на вашу локальную машину. УФ!

теперь нам нужно обернуть это в rsync. Rsync имеет параметр удаленной оболочки (- e), который можно использовать для указания параметров ssh. Так что на удаленном сервере можно запустить (это немного из предположения из прошлого опыта, это, возможно, потребуется некоторая настройка):

rysnc -<whatver rsync options you want> -e "ssh -p 1024" <source directory> <local machine user>@localhost

Не забудьте всегда запускать команду rsync с --dry-run, чтобы убедиться, что она делает то, что вы ожидаете (в сочетании с различными уровнями детализации-v,- vv или-i или-ii в зависимости от версии rsync, участвующих.).

0
отвечен Darren 2022-11-23 23:43

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх