如何利用XShell隧道通过跳板机连接内网机器
在服务器众多的企业里,通常运维会把某台机器开放外网访问权限,其他服务器通过该机器进行访问,该机器通常称之为跳板机。开发人员可以通过SSH工具访问服务器,进行日志查看、问题排查等等。
这里先假设一下服务器情况,跳板机地址:220.101.5.5,内网服务器两台:192.168.100.5 192.168.100.6。SSH开放端口都假设为22,通常就是22。
工具/原料
-
XShell
方法/步骤
-
首先建立跳板机的连接,并配置隧道。打开XShell点击文件菜单再点击新建弹出新建会话属性窗口,名称就取为跳板机,端口是22,主机填写前面假设的ip地址。如下图所示:
-
点击用户身份验证,填写登录跳板机的SSH用户名和密码如下图所示:
-
为防止跳板机连接过久自动断开,所以这里添加登录脚本直接发送top命令。点击登录脚本,勾选上执行以下等待并发送规则,点击添加弹出等待发送规则添加窗口,在发送框填写top。具体配置看图
-
接下来继续配置连接内网服务器的隧道,点击隧道再点击添加按钮进入隧道添加页面,源主机为本机localhost,侦听端口可以在有效范围内随便填写,这里为了区分连接内网哪台服务器,所以用内网服务器ip最后一位加22即522作为侦听端口。目标主机就是我们要通过跳板机访问的内网主机,端口是22。同样的操作再配置一个连接192.168.100.6的隧道,端口不能与522冲突,按刚才的规则可以用622端口。具体配置如下图:
-
到此跳板机的配置已经完成了,下面来建立通过跳板机登录内网服务器的连接会话,首先还是进入新建会话属性窗口,注意一下这次的配置,主机为localhost,侦听端口为刚才的522,即这个配置连接之后是访问内网的192.168.100.5服务器,再配置一下用户身份验证,填写内网服务器的账号和密码,可以再添加一下登录脚本,直接发送进入日志服务器的命令,比如:cd /tmp/logs/xxx这样每次一连接上就进入日志目录。这样一台内网服务器的连接配置就完成了,同样的操作再配置192.168.100.6的连接,端口为622。具体如下图:
-
到此跳板机、隧道及内网的两台服务器连接都配置完成了。下面就该测试连接了,先打开跳板机的连接,再打开两台内网服务器的连接,若正常连接上就配置正确了。特别注意:跳板机一定要先打开,因为内网服务器的连接都是基于跳板机的侦听端口。如下图所示
-
另外,XShell的快速命令集也是很方便的,可以编辑好常用命令,按指定快捷键快速输入这些命令。在查看中勾选快速命令,将显示在底部,在工具中找到快速命令集可以添加编辑快速命令。具体操作这里不再详细说明,看下图: