2011-04-05 73 views
1

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

回答

3

你想利用SSH的ProxyCommand选项。这是一个使用一台机器连接到另一台机器的例子。

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

Host viatunnel 
    IdentityFile ~/.ssh/inside_server_rsa 
    ProxyCommand ssh -i ~/.ssh/proxy_server_rsa [email protected] "nc inside.mynetwork 22" 
    user myself 

这将首先连接到[email protected],并用它来做出[email protected]连接

现在打字:SSH viatunnel将连接使用该配置。

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

openssh manual

ProxyCommand这里