首页 > 自考资讯 > 自考知识

5 分钟学懂 SSH 隧道技术

头条共创 2024-08-06


概述

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

网络基础

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

图 1:简化网络拓扑

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

从 Home PC 直接 SSH Office PC从 Office PC SSH 到 Home PC 同理从 Home PC 直接 SSH 到 VPS从 Office PC SSH 到 VPS 同理从 VPS SSH 到 Home(Office) PC

在这几个场景中,最简单实现的就是:从 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/configHost jump HostName 10.0.0.102 Port 22 User root IdentityFile /root/.ssh/id_rsa ForwardAgent yesHost 10.0.0.87 HostName 10.0.0.87 ProxyJump jump User zhangsan首先需要确保可以直接登录跳板机:10.0.0.102;10.0.0.87 是通过 10.0.0.102 这个跳板机访问的;

Tips

反向隧道只监听 localhost

[root@liqiang.io]# cat /etc/ssh/sshd_configGatewayPorts = 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 发送出去。
注意要点必须先在本地执行完命令之后再去远程服务器执行,不然,服务器这边会因为没有数据而导致无法正常运行;在使用过程中我遇到了一个问题就是这种方式只能接收一次 UDP,第二次就无法接收成功了;这是反向代理的例子,正向代理反过来即是。

参考文档

How to make a SSH tunnel publicly accessible?Performing UDP tunneling through an SSH connectionHow to use ansible openstack modules with a ssh socks proxySSH Tunneling Technology Guide

版权声明:本文转载于今日头条,版权归作者所有,如果侵权,请联系本站编辑删除

猜你喜欢

  • 5 分钟学懂 SSH 隧道技术

    5 分钟学懂 SSH 隧道技术

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

    来源:中国自考网 2024-08-06
  • # SSH 是什么?

    # SSH 是什么?

    #计算机基础知识都包含哪些?## SSH 是什么?## 1、SSH 简介:- SSH :全称 Sec

    来源:中国自考网 2024-08-06
  • 南昌大学研究生进入复试名单,2020南昌大学研究生复试

    南昌大学研究生进入复试名单,2020南昌大学研究生复试

    各位考生:按照上级主管部门的部署,经研究决定,我校招收2019年攻读硕士学位研究生复试工作将于3月2

    来源:中国自考网 2024-08-06
  • 介绍3种ssh远程连接的方式

    介绍3种ssh远程连接的方式

    本文分享自华为云社区《ssh 远程连接方式总结-云社区-华为云》,作者:嵌入式视觉。SSH(安全外壳

    来源:中国自考网 2024-08-06
  • 南铁佳叔,南铁家园官网

    南铁佳叔,南铁家园官网

    铁路是由许多个体和小家庭组成的一个大家庭铁路人在平凡的岗位上默默奉献他们践行誓言,倾力付出只为守护铁

    来源:中国自考网 2024-08-06
  • 五分钟不费脑看懂SSH(安全的壳协议)

    五分钟不费脑看懂SSH(安全的壳协议)

    关注我的头条号的同学可能已经从我的历史文章中了解到大概的概念,什么是SSH(Security She

    来源:中国自考网 2024-08-06
  • ssh教程

    ssh教程

    一、SSH的基本概念SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中为网

    来源:中国自考网 2024-08-06
  • 南昌大学自考本科电话号码,南昌大学成教处电话

    南昌大学自考本科电话号码,南昌大学成教处电话

    南昌大学继续教育学院联系方式来源:http://sce.ncu.edu.cn/lxwm/35947.

    来源:中国自考网 2024-08-06
  • 5分钟图解SSH

    5分钟图解SSH

    什么是sshssh是一个标准协议,用于保证网络通信安全服务,也就是加密,常见的应用场景就是安全登录,

    来源:中国自考网 2024-08-06
  • 江西南昌大学自考报名,南昌大学自考办电话号码多少

    江西南昌大学自考报名,南昌大学自考办电话号码多少

    很多准备参加自考的考生的第一个问题就是:我可以报哪个学校的自考?这个学校有没有适合我的专业?今天拾贰

    来源:中国自考网 2024-08-06