如果您运行的是较新版本的OpenSSH(7.3+),则可以使用ProxyJump
它神奇地将所有内容组合在一起:
ssh -J windows_machine remote_server
您的~/.ssh/config
外观如下:
Host remote_server
HostName remote_server
ProxyJump windows_machine
User myname
ProxyJump
支持全SSH语法,所以如果你是jim
在windows_server
和它使用的端口2222
为SSH。remote_server
从IP 192.168.0.110
开始,windows_server
您可以这样写:
Host remote_server
HostName 192.168.0.110
ProxyJump jim@windows_machine:2222
User myname
而且仍然只是跑到ssh remote_server
那里。
如果您运行的是SSH的旧版本,请使用ProxyCommand-允许您告诉SSH首先运行命令以建立代理连接,然后再运行实际的SSH命令。
ssh -o ProxyCommand='ssh -W %h:%p windows_machine' remote_server
这使用SSH -W选项,这是更神秘的netcat语法的简写。
请注意,当您开始运行ssh remote_server
时,windows_machine
您需要确保使用remove_server
跳转框中的IP而不是计算机中的IP-这些可能完全相同。
然后可以将该指令添加到~/.ssh/config
文件中:
Host remote_server
HostName remote_server
User myname
ProxyCommand ssh -W %h:%p windows_machine
这意味着如果您看到的remote_server
是另外一台机器,windows_machine
则可以将其放入配置中并仍然使用ssh remote_server
。