Linux 隧道SSH:通过另一台服务器访问被防火墙阻止的服务器
abcasdnaksjbdkahsbdhabsjdhabasjhdbajshbdjasbh如果使用openssh: 琐碎的方式Linux 隧道SSH:通过另一台服务器访问被防火墙阻止的服务器,linux,Linux,abcasdnaksjbdkahsbdhabsjdhabasjhdbajshbdjasbh如果使用openssh: 琐碎的方式 PC> ssh server1_user@server1 server1> ssh server2_user@server2 PC TTY1> ssh -L 2222:192.168.0.3:22 server1_user@server1 PC TTY2> ssh server2_user@localhost -p 2222 代理方式 PC&
PC> ssh server1_user@server1
server1> ssh server2_user@server2
PC TTY1> ssh -L 2222:192.168.0.3:22 server1_user@server1
PC TTY2> ssh server2_user@localhost -p 2222
代理方式
PC> ssh server1_user@server1
server1> ssh server2_user@server2
PC TTY1> ssh -L 2222:192.168.0.3:22 server1_user@server1
PC TTY2> ssh server2_user@localhost -p 2222
在server1上获取一个netcat
,如果您无法安装,您可以尝试静态编译一个(检查busybox),下载一个(查找server1和OS版本并检查其repos)。如果您有python/perl,那么有命令的“脚本实现”
在~/.ssh/config
文件上添加:
Host server1
HostName 10.0.0.146
User server1_user
Host server2
ProxyCommand ssh -C -q server1 /<server1_path_to>/nc 192.168.0.3 22
User server2_user
隧道通道
PC> ssh server1_user@server1
server1> ssh server2_user@server2
PC TTY1> ssh -L 2222:192.168.0.3:22 server1_user@server1
PC TTY2> ssh server2_user@localhost -p 2222
是否将先前的重复项(实际上,是问题的更复杂形式,但它的任何答案也是此问题的答案)移动到ServerFault,因为它与此问题一样,在StackOverflow上是离题的。(实际上,我会争论超级用户而不是服务器故障——SSH是最终用户软件,就像它是一个系统管理工具一样——但无论如何,这绝不是软件开发的问题)。(…如果您试图编写自己的SSH客户机,即使用paramiko或Jsch,那么这将是一个堆栈溢出问题)。您缺少代理隧道方式,使用
ssh-W
:-)是的,昨天由Charles Duffy评论发现