SecureCRT配置端口转发-通过跳板机SSH到其他服务器
在项目开发中遇到这样一个问题,客户服务器有一台操作系统的CentOS JAVA服务器和MySQL服务器,本地电脑通过VPN SSH到这2台服务器进行日常维护。最近因为修改了远程Mysql服务器导致重启时连不上Mysql服务器了。但是JAVA服务器可以SSH到Mysql服务器。通过各种方法排查没有查到具体原因,最后考虑一个解决方案是用SecureCRT 登录JAVA服务器,然后由JAVA服务器将SSH请求转发到MySQL服务器,从而间接实现SecureCRT SSH 到Mysql服务器。
那么SecureCRT如何配置端口转发呢?
首先需要建立一个SecureCRT到JAVA服务器的会话,这个会话作为一个跳板机会话,远程主机填写JAVA服务器的IP和22端口(SSH默认端口),会话的登录账号和密码为JAVA服务器的登录账号和密码。然后会话选项中添加一个端口转发,见下图:
假定192.168.76.30是Mysql服务器的IP。这样建立一个本机127.0.0.1,端口是30022到192.168.76.30,端口22的转发规则。建立后,这个会话需要一直保持链接,所以要配置下反空闲,防止一会连接就自动关闭了:
然后JAVA服务器上要配置允许端口转发,需要在/etc/ssh/sshd_config中增加下面的配置:AllowTcpForwarding yes ,这样默认是用#注释掉的,把#号去掉 然后运行systemctl restart sshd
接下来还要再建立一个会话,这个会话设置ip为本机的IP 127.0.0.1,端口为前面配置的转发端口30022(只要不被占用即可),会话链接后会提示输入登录账号和密码,这个登录账号和密码输入Mysql服务器的登录账号和密码即可。
综上所述,配置端口转发需要建立两个会话,其中一个是建立一个转发通道,要保持一直运行,然后再建立一个新的会话,新的会话是本机127.0.0.1通过本机某个端口(30022),通过跳板机(JAVA 服务器)将SSH请求转发给目标服务器(MySQL服务器)。注意这个转发端口(30022)是本机的,不是跳板机的。