【问题标题】:forward connection to another?转发连接到另一个?
【发布时间】:2011-04-05 19:42:44
【问题描述】:
我需要 ssh 两次才能远程访问我的工作计算机。首先,我必须通过 ssh 连接到办公室的本地服务器。然后我必须 ssh 到我的本地计算机(IP 地址)。没有直接的方法。有没有一种方法我可以只登录一次,它会以某种方式为我建立连接?我想制作一个 shell 脚本并使用 rsync 来备份我的房子。我相信 rsync 只能处理一个 ssh 连接。有谁知道解决这个问题的方法吗?
【问题讨论】:
标签:
linux
unix
networking
routing
ssh
【解决方案1】:
您想使用 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