怎么学懂SSH隧道技术

发布时间:2021-11-01 16:38:27 作者:柒染
来源:亿速云 阅读:174

本篇文章为大家展示了怎么学懂SSH隧道技术,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

概述

将介绍一些关于 SSH 隧道技术的小技巧,并且给出一个网络拓扑图更好地解释在做的东西。

网络基础

假设我的网络情况是这样的一个简化拓扑:

怎么学懂SSH隧道技术

图 1:简化网络拓扑

那么这里有几种可能的操作,分别是:

在这几个场景中,最简单实现的就是:从 Home PC SSH 到 VPS,这也是我们平时最常见的一个操作。只所以我们可以轻松地实现这个原理,是因为 VPS 拥有公网 IP,我们可以直接从 Home PC 中路由到 VPS,反之,因为我们的 Home PC 没有公网 IP,所以 VPS 无法直接 SSH 到我们的 Home PC。

那么这里就会有同学有想法了,那么我们的 Home PC 能不能有公网 IP,答案肯定是可以的,从上图中可以看到,简单来说,PC 和 VPS 的差异就在于 PC 还接了一次路由器,那么如果直接将 PC 介入 ISP 网络中,是不是就可以拥有公网 IP 了。这个问题很复杂,答案是可能是,这依赖于你的 ISP 如果提供网络给你,在以前 ADSL 时代,基本上都是可以提供公网 IP 的,但是,随着光纤的普及,即使你不使用路由器,你也不是直接介入 ISP 的骨干网了,而是 ISP 的一个分线器,例如 FTTB 系列。所以,这里设想让 PC(路由器) 拥有公网 IP 的想法不具有通用性,加上即使有,ISP 可能也会限制一些端口,因此用的也不多。

SSH 隧道

所以,终于进入到本文的主题了,既然没法直接连接到 PC,那么可不可以反过来,让 PC 自己主动来发起请求,这就是 SSH 隧道的原理了:

[root@liqiang.io]# ssh -qngfNTR 9999:localhost:8888 root@192.168.29.48

命令行快速使用

[root@liqiang.io]# cat ~/.ssh/config  Host jump    HostName 10.0.0.102    Port 22    User root    IdentityFile /root/.ssh/id_rsa    ForwardAgent yes  Host 10.0.0.87    HostName 10.0.0.87    ProxyJump jump    User zhangsan

Tips

反向隧道只监听 localhost

[root@liqiang.io]# cat /etc/ssh/sshd_config  GatewayPorts = yes

代理 UDP

反向代理

[root@liqiang.io]# yum install -y nc  [root@liqiang.io]# mkfifo /tmp/fifo  [root@liqiang.io]# nc -l -p 1162 < /tmp/fifo | nc -u localhost 1163 > /tmp/fifo

这里的意思是说监听机器上的 1162 端口发出来的数据,然后以 UDP 的形式将数据发送给 localhost:1163。

[root@liqiang.io]# mkfifo /tmp/fifo  [root@liqiang.io]# nc -l -u -p 1163 < /tmp/fifo | nc localhost 1162 > /tmp/fifo

这里的意思是在机器上监听 1163 端口的 UDP 协议,然后将收到的 UDP 流量通过 TCP 链路 localhost:1162 发送出去。

上述内容就是怎么学懂SSH隧道技术,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 利用云主机做 ssh 反向隧道
  2. rsync 基于ssh隧道 拉去文件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ssh

上一篇:如何在Ubuntu Linux上开采以太坊

下一篇:为什么建议使用Java枚举

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》