转发到另一个?

时间:2011-04-05 19:42:44

标签: linux unix networking routing ssh

我需要ssh两次才能远程访问我的工作计算机。首先,我必须ssh到办公室本地服务器。然后我必须ssh到我的本地计算机(IP地址)。没有直接的方法。有没有办法我可以登录一次,它会以某种方式为我建立连接?我想创建一个shell脚本并使用rsync备份到我家。我相信rsync只能处理一个ssh连接。有人知道解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

您想要使用ssh的 ProxyCommand 选项。这是一个使用一台机器连接到另一台机器的例子。

您可以将以下内容添加到〜/ .ssh / config 文件中。

Host viatunnel
  IdentityFile ~/.ssh/inside_server_rsa
  ProxyCommand ssh -i ~/.ssh/proxy_server_rsa user@gateway.mynetwork "nc inside.mynetwork 22"
  user myself

首先连接到 user@gatwway.mynetwork 并使用它连接到 myself@inside.mynetwork

现在输入: ssh viatunnel 将使用此配置进行连接。

ProxyCommand行基本上在连接的第一跳上运行'nc',并在第二台服务器上建立到端口22的隧道。然后外面的ssh使用它来连接。

请参阅openssh manual

上的 ProxyCommand

答案 1 :(得分:1)

是的,您正在寻找的工具名为ProxyTunnel