Rsync over ssh tunnel – использование сервера шлюза

Environment: ---------- ---------- /| ------------ | Work | | Gateway| | | | cluster | |Station |--------------------------------| |-------------| | | | | | Firewall A | | ---------- ---------- | | ------------ |/ 
  • Пользователям необходимо передать DATA с рабочей станции в кластер. (rsync / scp)
  • Брандмауэр ТОЛЬКО позволяет соединениям (ssh) со шлюзом и конкретными внутренними подсетями
  • Все пользователи имеют учетные записи на сервере шлюза для доступа к кластеру из разрешенных разрешенных подсетей

Как пользователи могут использовать rsync / scp для передачи данных из дома (или вне разрешенных подсетей) с использованием сервера шлюза в качестве туннеля?

Например, я для удаленных терминалов пользователь должен «ssh user @ gateway», а затем «ssh user @ cluster», чтобы получить терминал в кластере. Если пользователь выполнил только «ssh user @ cluster», брандмауэр заблокировал соединение.

благодаря

Обычно я использую способность ssh использовать файл config . Вы можете сохранить этот файл здесь:

 $HOME/.ssh/config 

В этом файле вы можете добавить такие строфы:

 Host cluster ProxyCommand ssh usear@gateway nc cluster %p 

Это позволит вам использовать такие инструменты, как ssh и rsync и настроить пользователя на систему кластеров с рабочей станции.

 $ ssh user@cluster 

-или-

 $ rsync somefile user@cluster:~