跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一。
正常的登录流程
使用ssh命令登录跳板机;
登录跳板机成功后,在跳板机分配的终端中使用ssh命令再登录开发机,跳板机和开发机之间采用带密码的ssh验证,因此需要输入ssh私钥的密码。
ssh隧道(通过跳板机)连接mysql
案例:
A服务器 B服务器 C服务器mysql
现在mysql服务器C只能通过内网访问,B服务器就能通过内网连接访问到mysql
A服务器无法直接连接C服务器mysql,所以要通过跳板机(跳板机指的是B服务器)连接mysql
实现:
在A服务器下面执行命令
- -p {ssh_port}: 指定跳板机器的ssh服务的端口
- -i {rsa_file}:指定连接跳板机的ssh公钥,由跳板机的ssh服务端生成,如果不指定公钥或者公钥验证失败则会弹出密码进行登录。
- -f:需进行ssh认证
- -N:只进行端口转发,不执行命令
- -L:指定连接服务的格式 [bind_address:]port:host:hostport
- {local_port}:本地监听的端口
- {mysql_ip}:转发到的mysql的ip或域名
- {mysql_port}:转发到的mysql的端口
- {ssh_port}:跳板机的
- {ssh_user}:跳板机的ssh用户名(如果为rsa登录,则ras对应的用户名和ssh_user一致)
- {ssh_ip}:跳板机的ip或域名
看到3307端口说明监听了;
使用mysql命令开始连接:
mysql -h127.0.0.1 -P3307 -uroot -p (此命令需要注意点-h要填,-P端口是大写,不然会连接到自己本地的mysql而不是远程的mysql)
连接成功之后执行命令:
show databases;
看到的是自己远程mysql服务器上的数据库就说明连接成功了;
navicat使用跳板机连接数据库-ssh(sqlyog同理)
1. 目标数据库的域名/IP,端口,用户名,密码:如图1
3. 选中User SSH Tunnel;填写跳板机域名/IP,用户名,密码(注意:端口22不要变)
4. 点击OK,保存链接,打开链接完成通过ssh通道连接跳板机达到连接数据库的目的。不用每次都重复的在shell里输入数据库链接了
推荐
公司内部,为了安全起见,经常会把开发机和线上机从网络上面分离开,有时候出于排查问题,需要通过跳板机连接到线上数据库。这里使用了 SwitchHosts 管理工具让开发、测试、线上环境切换更容易。
host管理工具SwitchHosts的使用
SwitchHosts高效切换host -- 让开发,测试,线上环境切换更容易