2025年4月11日 星期五 乙巳(蛇)年 正月十二 夜 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > 网络服务

ssh 端口转发说明

时间:12-14来源:作者:点击数:9

SSH 端口转发可以使两台机器之间通过SSH协议来通讯,这项能力可以让两个不支持 SSL 加密的应用之间的通讯也变得安全。 此外,ssh 端口转发也常用于将位于内部网络无法路由的机器暴露给外部使用。

SSH 端口转发主要有两种:本地端口转发和远程端口转发。不同类型的端口转发其作用也不一样。

本地端口转发

本地端口转发其实很好理解,就是在本地端口和远程主机端口之间创建一个通道,当其他主机连接本地主机的端口时就会将所有数据转发到远程主机上的端口上去了。

使用本地端口转发的命令为,在本地主机上执行:

  • ssh -L 本地端口:目标主机:目标端口 转发主机

这样所有连接本地主机上本地端口的数据,都会通过转发主机转发到目标主机的目标端口上去了(当然前提是转发主机和本地主机、目标主机都是联通的),需要注意的是,这里的目标主机是相对转发主机来说的,也就是说,如果目标主机为 localhost,那么目标主机指的是转发主机,而不是本地主机,这一点比较反直觉。

远程端口转发

远程端口转发常用于将位于内部网络无法路由的机器暴露给外部使用,使用远程端口转发的命令为,在转发主机上执行:

  • ssh -R 远程端口:目标主机:目标端口 远程主机

这样所有连接到远程主机上远程端口的数据,都会通过转发主机转发到目标主机的目标端口上去了(当然前提是转发主机和本地主机、目标主机都是联通的),注意,这里的目标主机也是相对于转发主机来说的,也就是说,如果目标主机为localhost,那么目标主机指的是转发主机,而不是远程主机。

比如,我想在外网上管理内网上的 OrangePi,那么可以这样做:

  1. 购买一个能在外网访问的VPS
  2. 配置 VPS 上 /etc/sshd_config 中 GatewayPorts 为 true,并重启 VPS上的sshd服务
  3. 在 OrangePi 上执行 ssh -fNT -R 6022:localhost:22 VPS,则通过 ssh VPS -p 6022 就能登陆到 OrangePi 上进行管理了。

其中 ssh 中的参数说明如下:

-f
表示SSH连接成功后,转入后台运行.
-N
表示只连接远程主机,不打开远程shell.
-T
表示表示不为这个连接分配TTY,其与-N参数放在一起,表示这个SSH连接只传数据,不执行远程操作
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐