通过 ssh 隧道进行 Rsync - 使用网关服务器

通过 ssh 隧道进行 Rsync - 使用网关服务器
Environment:
----------         ----------              /|             ------------
|  Work  |         | Gateway|             | |             | cluster   |
|Station |--------------------------------| |-------------|           |
|        |         |        |          Firewall A         |           |
----------         ----------             | |             ------------
                                          |/
  • 用户需要将数据从工作站传输到集群。 (rsync/scp)
  • 防火墙 A 仅允许来自网关和特定内部子网的连接 (ssh)
  • 所有用户在网关服务器上都有帐户,可以从允许的子网外部访问集群

用户如何使用 rsync / scp 通过使用网关服务器作为隧道从家庭(或允许的子网之外)传输数据?

例如,对于远程终端,用户必须“ssh user@gateway”,然后“ssh user@cluster”才能接收集群上的终端。如果用户仅执行“ssh user@cluster”,防火墙将阻止连接。

谢谢

答案1

我通常使用 的ssh能力来使用config文件。您可以在此处存储此文件:

$HOME/.ssh/config

在此文件中,您可以添加如下节:

Host cluster
    ProxyCommand ssh usear@gateway nc cluster %p

这将允许您使用诸如ssh和 之类的工具rsync,并从工作站定位集群系统上的用户。

$ ssh user@cluster

-或者-

$ rsync somefile user@cluster:~

相关内容