xshell提供的基于ssh的3种隧道技术探究

xshell提供的基于ssh的3种隧道技术探究

xshell提供的ssh3种隧道(准确的说是ssh命令本身提供的,只不过xshell使用起来更方便而已),是个神奇高效的黑科技。

image.png

1)本地模式

可以用来实现“把服务器不对公网IP开放端口服务,映射到本地局域网内”;

这样可以保护外网资源不被非法访问,但本地可以通过隧道正常使用。

比如远程服务器有个MySQL服务,监听127.0.0.1即可(安全嘛),办公室如果想操作数据库,就可以把远程的127.0.0.1:3306,映射到本地电脑IP的3306。

这样在同一个局域网内的人看起来,就跟你自己的电脑装了一个MySQL似的,且使用起来操作的是远程的数据库。

image.png

 

image.png

2)远程模式

实现内网穿透,什么是内网穿透?简单来讲就是把自己本地电脑的端口服务,通过ssh映射到外网去,从而让全世界的公网都可以通过映射后的外网访问。

有人说,路由器也可以NAT映射实现,那确实,但是一般你根本不想在自己的路由器上开放,而希望在某个公网服务器上开放。

另外,用路由器NAT的方式,还有个前提是你必须拥有路由器管理员权限才能操作,一般人还是算了吧。

使用方式,之前写的一篇,说得已经算是比较详细。

https://www.nohup.net/?id=296

image.png

image.png

3)Dynamic模式

可以实现“github加速”,(此处省略365个字)

image.png

扩展——3种隧道的命令行版(程序员的最爱):

动态:

ssh -D -N 1080 user@example.com

curl –socks5 127.0.0.1:1080 http://www.qq.com

 

本地:

ssh -L -N 9000:localhost:5432 user@example.com

psql -h localhost -p 9000

 

 

远程:

ssh -R -N 9000:localhost:3000 user@example.com

curl

http://example.com:9000

 

这个-N,如果指定,那么如果有基于SSH的SFTP账号,可能就很危险了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注