利用SSH隧道突破云主机服务访问限制
创始人
2025-07-10 13:40:59
0

1.摘要

在工作中,经常需要对公网云主机上运行的一系列服务进行维护,为了安全起见,通常对外开放的端口只有SSH(22端口)服务,虽然可以在运维的时候临时通过改变安全策略放行其它服务端口,但对于耗时较长的排查操作,长时间暴露敏感端口存在较大的安全风险。而通过SSH隧道技术,不用改变任何安全策略便可以将云主机中的服务端口映射到本地进行操作,不仅能够保证传输数据处于加密状态,而且可以在本地通过工具或浏览器访问目标服务,既方便又安全。

2.SSH隧道原理

SSH隧道技术在本文中的应用场景图如下:

图片图片

要成功建立SSH隧道,需要满足以下几个前提条件:

  • 个人电脑需要安装支持SSH协议的软件,Windows系统可能需要安装类似于Cygwin这样的软件。
  • 云主机防火墙安全策略必须放行22端口,也就是SSH协议使用的默认端口。
  • 云主机上同样需要安装支持SSH协议的软件包,要能保证能用SSH协议正常登录远程主机。

SSH隧道主要从个人电脑开始建立,根据上图可知,SSH隧道建立过程如下:

  • 在个人电脑中开放一个自定义端口,这里选择了5478端口,该端口没有特别要求,可以自己根据实际情况选择,不与其它端口冲突就行。5478端口可以看作是隧道的开端。
  • 输入远程主机的SSH登录账号和密码建立隧道远程连接,防火墙的22端口必须放行才能成功建立连接。这里的SSH远程登录可以看作是隧道的延伸,由个人电脑的5478端口出发,延伸到远程云主机的22端口。
  • 将远程主机的真实服务端口与本地隧道开端5478端口建立映射。映射关系可以看作是隧道的收尾工程,隧道从云主机的22端口连接后,需要将其与远程主机上的本地服务端口建立连接,假设本地服务有个3306的数据库服务, 这样最终就打通了个人电脑5478端口和3306端口的连接,实现从本地访问防火墙之后的云主机服务。

3. 实践应用

上面建立SSH隧道的过程,在个人电脑里可以使用SSH工具自带的命令完成,完整命令如下:

ssh  -CfNg  -L 5478:localhost:3306 root@xx.xx.177.122

这条命令参数含义如下:

-C: 表示压缩传输,可以提高传输速率。

-f: 将ssh传输转入后台执行,不会占用当前的shell

-N:建立静默连接,不会看到具体的会话

-g: 允许远程主机连接本地端口转发

-L: 本地端口转发

5478:localhost:3306 这个参数是建立端口映射关系,5478表示本地端口,localhost:3306表示远程主机的3306端口。

注意:这里一定要写localhost,不要写xx.xx.177.122,虽然localhost和xx.xx.177.122代表同一台远程机器。

root@xx.xx.177.122参数就是远程SSH登录的过程,需要输入SSH密码才能最终完成隧道连接。

如果命令执行失败,可以先看看本地有没有出现端口占用的情况,如图:

图片图片

如果命令执行返回了进程ID,说明本地转发端口5478被该进程占用了,要么kill 进程ID,要么更换其它端口。

成功执行命令后,可以查看ssh的后台进程,发现该进程说明隧道建立成功,如图:

图片图片

在本地通过数据库软件连接5478端口试试,可以看到已成功连接远程数据库,如图:

图片图片

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...