场景:
如图,该场景下开发人员只能访问和控制应用服务器,无法通过网络直接访问文件和数据库服务器,这个时候我们可以通过应用服务器的ssh连接建立一个隧道连接来间接实现访问数据库以及其所在内部网络的任意设备。
操作:
首先下载xshell工具,可在百度进行下载,或者不喜欢使用该工具,可在其他ssh客户端使用命令行实现,我这里简单介绍一种。
使用xshell连接应用服务器
点击顶部菜单“查看”,勾上隧道窗格
然后在下方tab页选中转移规则,右键添加,类型选择本地拨出,源主机填写localhost,端口填写本地任意一个未被占用的端口A;目标主机填写目标内部网络的局域网ip,端口填写需要访问的服务端口B。
点击确定后,列表中出现新添加的转移规则后,在本地访问localhost的A端口就可以访问到远程内部网络的B服务了。
案例:
公司有3台服务器,内部网络IP分别为
192.168.1.100(应用服务器)=>公网IP:61.185.220.182
192.168.1.101(文件服务器)
192.168.1.102(数据库服务器)
某同事在家办公需要访问公司的数据库,那么此时他只能通过61.185.220.182访问到应用服务器,这里就可以通过SSH隧道解决这个问题。
- 在xshell中连接上61.185.220.182服务器。
- 在61.185.220.182的会话下面转移规则列表右键添加
如图配置,就可以在本地的1522端口和公司局域网的数据库服务器的1521建立隧道关系,此时访问本地1522端口就可以访问到公司的数据库了。