跳板机(Jump Server),也称堡垒机,是一类可做为跳板批量操做远程设备的网络设备,是系统管理员或运维人员经常使用的操做平台之一。mysql
正常的登陆流程
使用ssh命令登陆跳板机;
登陆跳板机成功后,在跳板机分配的终端中使用ssh命令再登陆开发机,跳板机和开发机之间采用带密码的ssh验证,所以须要输入ssh私钥的密码。sql
ssh隧道(经过跳板机)链接mysqlshell
案例:数据库
A服务器 B服务器 C服务器mysql安全
如今mysql服务器C只能经过内网访问,B服务器就能经过内网链接访问到mysql服务器
A服务器没法直接链接C服务器mysql,因此要经过跳板机(跳板机指的是B服务器)链接mysql网络
实现:运维
在A服务器下面执行命令ssh
- -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 -- 让开发,测试,线上环境切换更容易