当前位置: 首页 > news >正文

说说SSH的端口转发

今天,看了几篇其他平台的作者对SSH的端口转发相关文章,颇有收获,兴起也来跟CSDN上的同学们唠叨两句自己的心得,希望能让同学们少走点弯路,直达社会主义家园。

首先,必须明确SSH的端口转发是一套组合拳,也就是一并先后做了 2 件事情,

first task:建立SSH连接,
second job:对流量的监听和转发
那么说,SSH在做端口转发动作之前一定要做的事情就是先建立SSH连接,
如果同学们在之前网上找的资料看了个懵逼的最主要的原因就是忽略了这件SSH的最基本的本职工作。
SSH做端口转发只是在建立了SSH连接后顺手的事儿,搂草打兔子捎带脚。

先有连接后有端口转发

其次,不用去看什么跳板机这那的,

就记住一点:
SSH连接的建立有两个参与者,
能提供最基本的远程控制这个功能,
这也是SSH连接的初衷,
其中
客户端和服务器,
发起者是SSH client
响应者是SSH server
然后才是在这个SSH连接的基础上再去进行SSH端口转发,
SSH连接是基础,
SSH 端口转发是SSH连接提供的增值服务,
建立了SSH连接,
在没有进行端口转发的时候,
SSH连接能提供最基本的远程控制这个功能,
这也是SSH连接的初衷,
同时SSH连接中各个参与者的身份是不会发生变化的,
这句话意思是SSH client就是SSH连接的发起者,
它的身份不会随着SSH 端口转发数据流的方向的变化而改变,
举2个例子,
一、当SSH 端口转发使用本地端口转发即 ssh -L 时,
SSH client上的端口流量被送往响应者SSH server
流量方向:SSH client–>SSH server
此时SSH client是发起者的身份,
二、当SSH 端口转发使用远程端口转发即 ssh -R 时,
SSH server把收集到的流量送往SSH client上的端口,
流量方向:SSH server-->SSH client
此时SSH client仍然是发起者的身份,
也就是说,在SSH连接中参与者的身份始终如一保持不变,
SSH 端口转发中因为会使用到本地端口和远程端口两种模式进行流量转发,所以流量的方向会发生变化,
但无论SSH 端口转发的流量方向如何变化,
其下层的SSH连接中的参与者的身份始终保持不变,即
发起者是SSH client
响应者是SSH server

接着,要注意的是不管是本地转发还是远程转发,看的都是端口即 port

每个参与SSH 端口转发的终端都有自己的端口,比如
SSH 建立连接的2个参与方,
发起者 SSH client 使用的端口是 22(SSH 连接使用的默认端口)
响应者 SSH server 使用的端口是 22(SSH 连接使用的默认端口)
然后在这个SSH 连接上进行SSH 端口转发时要使用的端口,比如
在SSH 端口转发的本地端口转发模式下 SSH client 上的8080端口的流量先经端口22 到达 SSH server,然后SSH server将流量送到target的80端口,
请注意,这里有三个终端,分别是 clientserver、和target
它们三个分别使用到了4个端口,
1.SSH client 收集自己端口 8080 的流量
2.SSH client 通过自己的端口 22 把上一步收集到的流量送到 SSH server
3.SSH server在自己的端口 22 上将SSH client 处得到的流量送给target端口80
第一个端口,SSH client端口 8080
第二个端口,SSH client、SSH server共同使用的端口 22
第三个端口,SSH server的某个端口( SSH servertarget通信的端口)
第四个端口,target端口80
其中,
除了第三个端口让SSH server自己想办法之外,
其他三个端口都需要我们在命令中明确指定,
但一般做SSH端口转发的前提必须是建立SSH连接,
所以,第二个端口可以不写在命令中,
因此,在SSH端口转发的命令中通常只有2个端口,
但一定要知道,实际上用到的是4个端口,
所以,在SSH 端口转发中,所有的参与者都有自己的端口,而有一个默认的端口 22 千万不要忽略了,那就是 SSH 连接本身要使用的22号端口,虽然在 SSH的端口转发的命令中只出现了2个端口,但我们要清楚的知道那个被隐去的22号端口是SSH 连接要用到的,

我们来仔细看看本地端口转发和远程端口转发是怎么个事儿

本地端口转发

命令+参数是以 ssh -L 开头
L就是local的意思,
强调的是收集SSH client本地某个被指定的端口的流量,
然后通过SSH连接用到的端口22送给SSH server

远程端口转发

命令+参数是以 ssh -R 开头
R就是remote的意思
强调的是SSH client等待 远程的SSH server
通过端口22送来的由SSH server收集来 某个被指定的端口的流量

今天先写这点儿,估计看到这里同学们就已经了然于胸了,等有机会我再继续来补充,欢迎大家伙留言和讨论
不足之处请不吝赐教
October2025the25thSaturday

http://www.dtcms.com/a/530504.html

相关文章:

  • 网站建设专家怎么样网站栏目建设调研
  • 网站建设事项怎么制作网站获取ip
  • 郑州做茶叶的网站上海网站建设培训学校
  • 长沙网站排名优化费用广告推广群
  • 网站开发需要的准备设计参考图哪个网站好
  • 赋能基础研究与应用突破!何享健青年科学家首期项目揭晓仪式成功举办
  • [sam2图像分割] 视频追踪API | VideoPredictor | `inference_state`记忆
  • html5开发微网站网站在百度的标头不对
  • 网站获取访客qq号如何进行电商网站设计开发
  • 郑州网站设计费用杭州公司社保缴纳比例
  • 可以做填字游戏的网站给新公司建网站
  • 做网站教学广电如何做视频网站
  • 网站建设有那几个类型电商网站页面布局
  • 销售网站开发与设计现状大理建网站
  • 网页显示站点不安全资阳建设网站
  • 建设众筹网站整套vi设计机构
  • 2025年最新版IntelliJ IDEA下载安装过程(含Java环境搭建+Maven下载及配置)
  • 闽侯县住房和城乡建设局网站内蒙旅游
  • 江苏省建设斤网站网站建设定制公司推荐
  • 国外免费源码网站织梦如何做几种语言的网站
  • 线程、进程、多线程
  • 做健康食品的网站WordPress推送至QQ
  • discuz 做家教网站ps做网站对齐技巧
  • 做互联网网站需要什么资质吗网站开发自定义模块
  • 网站设计 布局安卓应用商店app下载安装
  • 学校门户网站什么意思阿芹网站建设
  • 专业的东莞网站推广微信公众号预约
  • 浙江网站建设哪家权威第一装修网
  • 企业网站建设的方式有哪些方式中装建设庄重
  • 凡科建站可以多人协作编辑吗什么类型的网站比较容易做