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

SSH 端口转发与跳板机

端口转发

什么是端口转发

SSH(Secure Shell),一种安全通道协议,主要用来实现字符界面的远程访问功能

除了基本的远程登录命令行,端口转发也是 SSH 的重要功能

端口转发用来在客户端和服务器之间建立一个加密的 SSH 连接,通过该连接来把本地流量转发到服务器端,或者把服务器端流量转发到本地

端口转发有三种,本地端口转发、远程端口转发、动态端口转发

本地端口转发

将对本地端口的访问通过 SSH 转发到目标主机的目标端口,目标主机是服务器可访问的主机

 
 
ssh -L [绑定地址:]<本地端口>:<目标主机>:<目标端口> <用户名>@<服务器>

本地端口转发是为了把远程服务拉到本地来访问

应用场景:服务器安装了 MySQL 服务,但没有开放 3306 端口,可以通过本地端口转发,实现本地开发环境访问服务器 MySQL

 
ssh -L 13306:localhost:3306 user@server

将服务器能访问的 localhost:3306,即服务器自身的 3306 端口,映射到本地的 13306 端口,本地开发时使用 localhost:13306 来访问 MySQL

远程端口转发

将对服务器端口的访问通过 SSH 转发到目标主机的目标端口,目标主机是本地可访问的主机

 
 
ssh -R [绑定地址:]<服务器端口>:<目标主机>:<目标端口> <用户名>@<服务器>

远程端口转发是为了把本地服务推到远程去访问

应用场景:服务器安装了 Nginx 服务,但还没有部署后端程序,如果希望通过服务器 IP 来访问到本地开发环境正在运行的后端程序,可以通过远程端口转发,实现服务器上 Nginx 对本地后端程序的访问

 
ssh -R 18080:localhost:8080 user@server

将本地能访问的 localhost:8080,即本机自身的 8080 端口,映射到服务器的 18080 端口,服务器 Nginx 可直接代理 localhost:18080 来访问本地后端程序

动态端口转发

由服务器来代理本地端口的流量请求

 
 
ssh -D [绑定地址:]<本地端口> <用户名>@<服务器>

应用场景:由于安全策略不能访问一些站点时,可通过与代理服务器建立动态端口转发来达到访问的目的

 
 
ssh -D 10808 user@server

测试 curl 通过代理访问

 
 
curl --socks5 127.0.0.1:10808 https://baidu.com

操作系统或者浏览器也都有代理相关配置,配置为 socks5://127.0.0.1:10808 即可实现流量的代理

跳板机

什么是跳板机

在日常运维或开发工作中,由于安全策略或网络拓扑的限制,内网服务器并不会直接向外部暴露端口,导致本地环境无法直连。在企业内部常常会设立一种中间主机,专门负责连通互相隔离的网络环境,这种机器被称为跳板机(Jump Server)

通过 SSH 协议,我们可以先登录到跳板机,再在跳板机上登录目标主机进行操作,这种方式需要两次 SSH 命令,比较繁琐,实际上 SSH 协议提供了的更加便捷的方式来处理跳板机场景

通过本地端口转发

当然,可以通过本地端口转发,将目标主机的 SSH 端口映射到本地端口

 
 
ssh -L 2222:<目标主机>:22 user@jump-server

只要本地端口转发在后台保持,可随时直接 ssh user01@localhost -p 2222 登录目标主机

通过 ProxyJump

从 OpenSSH 7.3 版本开始,SSH 引入了一个新的参数 -J,该参数用于指定跳板机

 
 
ssh -J user@jump-server user01@<目标主机>

-J 指定跳板机为 jump-server,先登录到 jump-server,再通过 jump-server 访问目标主机

在配置文件 SSH config ~/.ssh/config 中配置

 
 
Host server01HostName <目标主机>User user01ProxyJump user@jump-server

后续直接通过 ssh server01 来通过跳板机登录目标主机

通过 ProxyCommand

在老版本的 SSH 客户端上需要使用 ProxyCommand 方式

 
 
ssh -o "ProxyCommand ssh -W %h:%p user@jump-server" user01@<目标主机>

-o "ProxyCommand" 选项指定一个自定义的命令来通过跳板机进行连接

ssh -W %h:%p 将目标主机%h 和端口 %p 转发给跳板机,然后通过跳板机建立与目标主机的连接

在配置文件 SSH config ~/.ssh/config 中配置

 
 
Host <目标主机>ProxyCommand ssh -q -W %h:%p user@jump-server

后续直接通过 ssh user01@<目标主机> 来通过跳板机登录目标主机

http://www.jsqmd.com/news/20977/

相关文章:

  • 99.5%制氧机生产厂家盘点!2025高原制氧机厂家排行榜
  • 2025年中国国际健康营养博览会(NHNE):深度解析亚洲旗舰展的供需对接效能
  • 2025年10月上海装修公司服务榜:口碑排行十强
  • Qt-Creator-应用开发-全-
  • DBeaver - Met error: Public Key Retrieval is not allowed when connect to MySQL container database
  • 2025年10月肤色暗沉产品推荐榜:敏感肌可用提亮方案评价
  • 网络加速卡设计原理图:VCK190E- 基于 XCVC1902的4路100G光口 AI加速PCIe卡
  • 2025年10月PE管厂家评价榜:五强参数与案例全解析
  • 增强AI股票预测分析报告 - 2025年10月24日
  • CAD燕秀工具箱2.88中文正式版下载与安装教程
  • 2025年10月中国宝宝辅食品牌对比榜:十强实测数据全公开
  • 2025 最新推荐!碳纤维布厂家权威榜单:聚焦技术与口碑,助您精准选型
  • 题解:P5644 [PKUWC2018] 猎人杀
  • 湖北炸鸡品牌店加盟公司口碑榜:TOP3榜单深度解析与数据全景
  • 2025年10月长白山亲子酒店推荐:亲子榜评测指南
  • oracle表空间扩容
  • RTX 5070 Ti 安装 PyTorch CUDA 完整指南 - 解决 sm_120 兼容性问题
  • 高性能AI股票预测分析报告 - 2025年10月24日 - 09:50:03
  • 【一文分享】常用的八大跨网文件安全交换系统排名
  • java 代码加密混淆之Allatori
  • 【2025-10-23】焦虑执着
  • AI股票预测分析报告 - 2025年10月24日
  • 2025 年湖北甲鱼品牌加盟公司最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • mvn clean install 执行报错误: 不支持发行版本 21
  • Microsoft AI Genius | 从数据混乱到智能洞察:用前沿技术构建一体化 AI 工作流
  • 2025 年度视频引伸计厂家最新推荐榜:深度解析实力品牌与新锐势力,助科研与工业检测精准选型
  • 2025年10月小红书代运营公司推荐榜:五强评测与选择策略
  • 2025 三维全场应变测量系统厂家最新推荐榜:核心竞争力解析与优质品牌优选指南
  • 2025年10月建筑设计软件推荐:权威榜单对比五强
  • Bun v1.3 重磅发布:一站式全栈 JS 运行时,前端开发、数据库、Redis 全内置