反向SSH隧道
Anne655
・2 分钟阅读
Internet服务提供商通常会阻止它家庭用户的大部分传入端口,这使得无法远程通过HTTP SSH FTP等连接到家庭计算机。
在本教程中,我们会介绍如何使用Rerverse SSH Tunneling
技术绕过这些限制。
注:本教程假定你正在使用Ubuntu ,不过,这些步骤也适用于其他Linux发行版。
前提条件:
- 一个Ubuntu服务器实例,
- 本地机器上的SSH客户端,
步骤1:在服务器上配置SSH守护进程:
默认情况下,SSH守护进程只监听127.0.0.1
,因此我们无法从外部访问已转发的端口,要让它监听连接到互联网的接口,我们必须在服务器的SSH配置中启用GatewayPorts
选项。
使用你喜爱的文本编辑器打开
nano /etc/ssh/sshd_config
然后在文件的底部添加GatewayPorts yes
。
保存文件后,重新启动SSH守护进程:
service ssh restart
步骤2:建立隧道:
如果你的家庭网络运行Linux,则需要使用ssh命令,如下所示:
ssh -R [Port to forward to on your VPS]:localhost:[Port to forward on your local machine] [VPS IP]
或者,如果你电脑用的是Microsoft Windows,则必须安装plink,并且按如下所示连接:
plink -R [Port to forward to on your VPS]:localhost:[Port to forward on your local machine] [VPS IP]
在本例中,我们将在你家里电脑上打开的端口19132转发到远程服务器(假定你的服务器地址为192.168.0.1 )上的80 端口。
ssh -R 80:localhost:19132 192.168.0.1
这将允许你从远程通过连接到192.168.0.1:80访问你家里的机器。
这是我们的教程,感谢阅读。