设置了端口转发仍然无法链接_快速掌握 SSH 端口转发,助力远程工作

fa6be81457d3aea27da483014c99caa8.png

概述

ssh 是我们平时连接远程服务器必不可少的的工具,实际上,SSH 还同时提供了一个非常有用的功能,这就是端口转发。

将其他 TCP 端口的网络数据通过 SSH 链接来转发,这一过程有时也被叫做 隧道(tunneling)

转发的类型有 3 种,对应到 3 个选项,分别是:

  • -L:Local,即本地端口转发
  • -R:Romote,即远程端口转发
  • -D:Dynamic,即动态端口转发

因为动态端口转发形式实际上是一种代理服务,和前面两种差别较大,所以本文暂不讨论。

在平常的工作中,难免遇到两个网络不能互相访问,特别是现在远程工作的情况下,这时候 SSH 端口转发就能帮上忙了。

不过这中间涉及到多个服务器之间的连接,关系很容易绕晕,本文做一个简单的总结,帮助大家快速理解。

【秒懂】5分钟学会SSH端口转发,远程工作用得着 | 如何充分利用云服务器_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com
203cb1d93ac2cac641b1ec6c29cff910.png

本地端口转发

基本命令:

ssh -L [本地IP]:本地端口:目标主机:目标端口 SSH服务器
  1. 本地指的是 SSH 客户端,即执行这个 ssh 命令的机器
  2. 本地 IP 省略时,默认绑定到 127.0.0.1
  3. 指定本地 IP 时,必须是本地已存在的地址
  4. 目标主机可以是主机名,也可以是 IP
  5. SSH 服务器是转发方
  6. 如果目标主机是主机名,要求 SSH 服务器 能够解析

示例:

ssh -L 8000:localhost:8080 remote

解释:

remote 上面的 8080 端口,通过本地的 8000 端口访问,这里的 localhost 指的是 remote 本地。

77d6284205d51f9e73a1982f9a08fc8f.png

远程端口转发

基本命令:

ssh -R [远程IP]:远程端口:目标主机:目标端口 SSH服务器
  1. 远程指的是 SSH 服务器
  2. 远程 IP 省略时,默认绑定到 127.0.0.1
  3. 要指定远程 IP 需要 SSH 服务器端开启 GatewayPorts 选项
  4. 目标主机可以是主机名,也可以是 IP
  5. SSH 客户端是转发方
  6. 如果目标主机是主机名,要求 SSH 客户端 能够解析

示例:

ssh -R 8000:localhost:8080 remote

解释:

remote 上面启动 8000 端口,可以访问到本地的 8080 端口,这里的 localhost 指的是 SSH 客户端 本地。

备注:

出于安全考虑,如果 SSH 服务器 没有开启允许 GatewayPorts 选项,则即使指定了 远程 IP,也仍然只会绑定到 127.0.0.1.

/etc/ssh/sshd_config 配置文件中找到 GatewayPorts,设置为 yes,并重启 sshd 服务。

521ad08edb8fa5d78744e2f06d2b0577.png

总结

每个机器按照功能来说可以分为几种角色:

  • SSH 服务器
  • SSH 客户端: 发起 ssh 连接的机器
  • 目标:提供 TCP 服务的服务器
  • 用户:要访问 TCP 服务的机器
  • 转发方:转发 TCP 的机器

在两种不同的端口转发形式下,每个机器有不同的作用,看图更直接点:

  • 本地端口,远程转发,用来访问远程的服务

70c8a47357b3f1510738cc691e16e905.png
  • 远程端口,本地转发,用来暴露本地的服务

33078a2b0187722f76c95cab72af0444.png

注意事项

加了端口转发选项的 SSH 连接也和普通 SSH 连接差不多,如果不想出现命令 shell,可以加如下选项:

  • -N:只建立连接,不执行命令
  • -f:建立成功后在后台运行

端口转发是基于 SSH 连接的基础上,所以这期间要一直保持 SSH 会话不中断。在 Linux 系统中可以安装 autossh 解决。

Windows 系统下使用的 SSH 客户端(比如 XShell)一般都有端口转发的配置, 原理都是一样的。

332d25baf27d247e0d8d8bfdfd50d3e9.png

建立连接的时候需要服务器的用户和密码,如果想让服务器只用作跳板隧道使用,可以建立受限用户,这样就可以放心的让别人使用,保证 SSH 服务器的安全。


“ 文章内容虽基础,整理发布不轻松
如果看过有帮助,不妨 点赞 + 关注,谢谢!

fa7e0ce421be6935d4611903fdeef7c7.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值