首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过SSH为远程计算机提供互联网服务?

问通过SSH为远程计算机提供互联网服务?
EN

Unix & Linux用户
提问于 2016-11-23 07:57:02
回答 2查看 3K关注 0票数 0

这个问题被问了几次,但我的设置与其他设置没有什么不同。

我的机器处于封闭的网络中,没有互联网,而且我也可以访问那台机器。但是我不能从我的笔记本电脑直接连接到我的远程机器。我必须通过linux跳转服务器,并且在跳转服务器中没有根权限。我只能从ssh到我的跳转服务器,也可以再次到我的远程机器。

我不能再开其他港口了。我如何分享我的笔记本电脑的互联网连接到我的远程机器,以便任何更新或软件拉链可以无缝地发生。

目前,当我有互联网条件跳转服务器时,我可以通过命令与远程计算机共享它。

代码语言:javascript
复制
ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET user@xx.xxx.xxx.xxx
EN

回答 2

Unix & Linux用户

发布于 2016-11-23 08:14:11

使用sshuttle,它:

透明的代理服务器,充当穷人的VPN。在ssh上前进。不需要管理。与Linux和MacOS一起工作。支持DNS隧道。

只要您的中间机器安装了Python,sshuttle就会连接、传输自己并设置本地机器,以便在SSH连接上转发所有通信量(或选定的通信量)。

另一件好的事情是,它与TCP一起工作,而不是与TCP相反,因此您可以在整个连接中获得正确的性能--常规SSH隧道由于没有丢包,所以扩展性很差。

你可以直接用它来做你想做的事:

代码语言:javascript
复制
sudo sshuttle --dns -r user@jump 0/0

这将通过SSH连接到用户@跳转,并通过该连接转发所有流量和所有DNS请求。您不需要在远程计算机上执行任何设置,您只需要在本地计算机上执行管理权限(设置数据包过滤规则)。

sshuttle是为某些发行版打包的,但是使用标准的Pythonsetup.py install流程从git存储库本地安装是非常简单的。如果您使用它,它也在PyPI中。

票数 1
EN

Unix & Linux用户

发布于 2016-11-23 08:56:17

如果jumpstation上的ssh支持'-W‘参数,您可以链接它:

在笔记本电脑的~/.ssh/config中:

代码语言:javascript
复制
Host 10.144.108.127
    ProxyCommand ssh -q user@jumpstation -W %h:%p

在笔记本电脑的命令行中:

代码语言:javascript
复制
ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET user@10.144.108.127

您还需要在笔记本上运行代理,并在远程计算机上设置适当的代理设置。

即使jumpstation不支持'-W‘参数(我对此表示怀疑),也可以通过在jumpstation上调用netcat,甚至打开/dev/tcp/...和一对cat (如果您在那里有bash )来规避这个问题。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/325364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档