SSH隧道搭建简单使用;本地电脑局域网内网穿透外网访问

参考:
https://www.zsythink.net/archives/2450
https://luckyfuture.top/ssh-tunnel#SSH%E9%9A%A7%E9%81%93
https://zhuanlan.zhihu.com/p/561589204?utm_id=0

1、 SSH隧道(搭建SSH隧道绕过防火墙):

ssh命令除了登陆外还有代理转发功能
SSH 隧道是 SSH 中的一种机制,它能够将其他 TCP 端口的网络数据通过 SSH 连接来转发,并且自动提供了相应的加密及解密服务。因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输,因此这一过程也被叫做“隧道”(tunneling)。

SSH 隧道也可以叫做端口转发

SSH 隧道能够提供两大功能:

1)加密 SSH Client 端至 SSH Server 端之间的通讯数据。

2)突破防火墙的限制完成一些之前无法建立的 TCP 连接

SSH一共提供了3种端口转发,分别是本地转发(-L参数)、远程转发(-R参数)和动态转发(-D参数)

-C:压缩传输,提高传输速度。
-f:将SSH传输转人后台执行,不占用当前的Shell。
-N:建立静默连接(建立了连接,但是看不到具体会话)。
-g:允许远程主机连接本地用于转发的端口。
-L:本地端口转发。
-R:远程端口转发
-D:动态转发(socks代理)
-P:指定SSH端口

例子:

ssh -p 31022 -NL 7860:192.168.1.1:7860  [email protected]

SSH隧道,它通过加密和安全地传输数据。通过这个隧道,可以在本地机器和远程服务器之间建立一个安全的通信通道。

具体来说,这个命令中的参数-NL表示创建本地端口转发。它将本地机器的7860端口与远程服务器的192.168.1.1:7860端口进行连接。实际上,当本地机器收到对本地7860端口的请求时,请求将被转发到远程服务器的192.168.1.1:7860端口。

通过这个隧道建立的通信是安全的,因为SSH使用了加密来保护数据的传输。这意味着在本地机器和远程服务器之间传输的数据被加密,只有具有正确密钥的两端才能解密和读取数据

或:

扫描二维码关注公众号,回复: 16892978 查看本文章
ssh -L 9906:10.1.0.2:3306 [email protected]

上述命令表示从本机(ServerA)建立一个到ServerB(10.1.0.2)的ssh隧道,使用本地端口转发模式,监听ServerA本地的9906端口,访问本机的9906端口时,通讯数据将会被转发到ServerB(10.1.0.2)的3306端口。

ssh软件一般也有入口:

在这里插入图片描述

2、本地电脑局域网内网穿透外网访问

参考:https://www.youtube.com/watch?v=4kCQICjI298
在这里插入图片描述
上图总体框架步骤解释:
1、内网电脑最左,有个服务比如起个文件服务器python -m http.server,这里起的8000端口

在这里插入图片描述
2、公网服务器中间,这里用的阿里云服务器,打开终端开启9999 tcp端口,然后打开sshd相关服务

echo "GatewayPorts yes" >> /etc/ssh/sshd _config
echo "AllowTcpForwarding yes”>> /etc/ssh/sshd _config
systemctl restart sshd

在这里插入图片描述
另外:netstat -anp |grep 9999 可以查看端口监听情况

3、然后在最左电脑创建ssh隧道
9999是中间远程服务器端口,127.0.0.1:8000本地静态服务器端口,root@8****4 -p 22是远程服务器外网公开ip和端口

ssh -NR 9999:127.0.0.1:8000 -f root@8****4 -p 22

4、外部其他电脑最右,就可以输入中间远程服务器ip加端口转发到的9999端口进行访问本地

8****4:9999

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42357472/article/details/132228143
今日推荐