反向SSH隧道

・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访问你家里的机器。

这是我们的教程,感谢阅读。

Anne655 profile image