一、摘要
在工作中,经常需要对公网云主机上运行的一系列服务进行维护,为了安全起见,通常对外开放的端口只有SSH(22端口)服务,虽然可以在运维的时候临时通过改变安全策略放行其它服务端口,但对于耗时较长的排查操作,长时间暴露敏感端口存在较大的安全风险。而通过SSH隧道技术,不用改变任何安全策略便可以将云主机中的服务端口映射到本地进行操作,不仅能够保证传输数据处于加密状态,而且可以在本地通过工具或浏览器访问目标服务,既方便又安全。
二、SSH隧道原理
SSH隧道技术在本文中的应用场景图如下:
要成功建立SSH隧道,需要满足以下几个前提条件:
(1).个人电脑需要安装支持SSH协议的软件,运维个人电脑推荐使用MacBook,直接命令行使用SSH非常方便,Windows系统可能 需要安装类似于Cygwin这样的软件。
(2).云主机防火墙安全策略必须放行22端口,也就是SSH协议使用的默认端口。
(3).云主机上同样需要安装支持SSH协议的软件包,要能保证能用SSH协议正常登录远程主机。
SSH隧道主要从个人电脑开始建立,根据上图可知,SSH隧道建立过程如下:
(1).在个人电脑中开放一个自定义端口,这里选择了5478端口,该端口没有特别要求,可以自己根据实际情况选择,不与其它端口冲突就行。5478端口可以看作是隧道的开端。
(2).输入远程主机的SSH登录账号和密码建立隧道远程连接,防火墙的22端口必须放行才能成功建立连接。这里的SSH远程登录可以看作是隧道的延伸,由个人电脑的5478端口出发,延伸到远程云主机的22端口。
(3).将远程主机的真实服务端口与本地隧道开端5478端口建立映射。映射关系可以看作是隧道的收尾工程,