通过ssh反向代理内网穿透连接windows远程桌面

安稳与你 提交于 2020-03-23 00:46:46

3 月,跳不动了?>>>

最近想在公司远程连接家里的windows机器,但家里宽带没有公网ip,而且在路由器后面,研究了一番,发现最简单的方法是用ssh做反向代理,下面记录一下实现过程。

 

首先要有一台VPS,因为用阿里云的云服务器很久了,于是打算在这台机器上搞,机器配置很老,1核512M内存,1M带宽,一个月差不多30块,装的ubuntu12.04。先用root用户登录VPS,编辑/etc/ssh/sshd_config文件,增加下面两项

GatewayPorts yes
AllowTcpForwarding yes

然后重启ssh

service ssh restart

之后在windows机器上执行如下ssh语句(此处采用MobaXterm)

ssh -R vpsIP:33389:localhost:3389 username@vpsIP

这相当于连接VPS后,把所有对VPS33389端口的访问,都转发到本机3389端口,也就是windows远程桌面的默认端口。

 

接下来就可以用公司机器直接打开远程桌面,进行连接了。只是连接地址改成vpsIP:33389的样子,如下所示。

 

为了防止掉线,也可以采用MobaXterm自带的tunnel来实现。如下所示

点击new SSH tunnel按钮

选择Remote port forwarding,填写相应的地址和端口信息后保存

最后在出现的条目中点击最后两个小图标,让它们生效。第一个按钮是此tunnel随MobaXterm启动时自动连接,第二个是当网络意外断开时尝试重新连接。

 

注意到上面设置地址时,还有一项是Dynamic port forwarding (SOCKS proxy),通过该项可以设置socks代理,然后在支持socks代理的浏览器里就可以通过该代理上网了。如下所示,

该功能非常有用,经常有朋友问我怎么弄,一并记在这里供大家学习。

 

找个支持socks代理的浏览器,比如firefox,找到网络设置

填上之前设置的地址和端口(地址就是本地,localhost或127.0.0.1)

选中下图中的选项,然后点击确定。

然后你就可以愉快地上网了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!