这个问题被问了几次,但我的设置与其他设置没有什么不同。
我的机器处于封闭的网络中,没有互联网,而且我也可以访问那台机器。但是我不能从我的笔记本电脑直接连接到我的远程机器。我必须通过linux跳转服务器,并且在跳转服务器中没有根权限。我只能从ssh到我的跳转服务器,也可以再次到我的远程机器。
我不能再开其他港口了。我如何分享我的笔记本电脑的互联网连接到我的远程机器,以便任何更新或软件拉链可以无缝地发生。
目前,当我有互联网条件跳转服务器时,我可以通过命令与远程计算机共享它。
ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET user@xx.xxx.xxx.xxx发布于 2016-11-23 08:14:11
使用sshuttle,它:
透明的代理服务器,充当穷人的VPN。在ssh上前进。不需要管理。与Linux和MacOS一起工作。支持DNS隧道。
只要您的中间机器安装了Python,sshuttle就会连接、传输自己并设置本地机器,以便在SSH连接上转发所有通信量(或选定的通信量)。
另一件好的事情是,它与TCP一起工作,而不是与TCP相反,因此您可以在整个连接中获得正确的性能--常规SSH隧道由于没有丢包,所以扩展性很差。
你可以直接用它来做你想做的事:
sudo sshuttle --dns -r user@jump 0/0这将通过SSH连接到用户@跳转,并通过该连接转发所有流量和所有DNS请求。您不需要在远程计算机上执行任何设置,您只需要在本地计算机上执行管理权限(设置数据包过滤规则)。
sshuttle是为某些发行版打包的,但是使用标准的Pythonsetup.py install流程从git存储库本地安装是非常简单的。如果您使用它,它也在PyPI中。
发布于 2016-11-23 08:56:17
如果jumpstation上的ssh支持'-W‘参数,您可以链接它:
在笔记本电脑的~/.ssh/config中:
Host 10.144.108.127
ProxyCommand ssh -q user@jumpstation -W %h:%p在笔记本电脑的命令行中:
ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET user@10.144.108.127您还需要在笔记本上运行代理,并在远程计算机上设置适当的代理设置。
即使jumpstation不支持'-W‘参数(我对此表示怀疑),也可以通过在jumpstation上调用netcat,甚至打开/dev/tcp/...和一对cat (如果您在那里有bash )来规避这个问题。
https://unix.stackexchange.com/questions/325364
复制相似问题