nvaicat mysql ssh 跳板机(堡垒机???)链接服务器

跳板机(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

ssh -p {ssh_port} -i {rsa_file} -fNL {local_port}:{mysql_ip}:{mysql_port} {ssh_user}@{ssh_ip}
ssh -p 22 -i ./id_rsa_jump -fNL 33060:mysql_ip:3306 jump@jump_ip # 实例
 
命令详解:
  • -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或域名
A服务器执行以上命令就能够链接远程MySQL了
 
测试链接:
首先查看端口有没有监听执行: ss -ntl

看到3307端口说明监听了;工具

使用mysql命令开始链接:

mysql -h127.0.0.1 -P3307 -uroot -p    (此命令须要注意点-h要填,-P端口是大写,否则会链接到本身本地的mysql而不是远程的mysql)

链接成功以后执行命令:

show databases;

看到的是本身远程mysql服务器上的数据库就说明链接成功了;

 

navicat使用跳板机链接数据库-ssh(sqlyog同理)

1. 目标数据库的域名/IP,端口,用户名,密码:如图1

2. 这时候不要点OK!选择SSH这个tab

3. 选中User SSH Tunnel;填写跳板机域名/IP,用户名,密码(注意:端口22不要变)

4. 点击OK,保存连接,打开连接完成经过ssh通道链接跳板机达到链接数据库的目的navicat使用跳板机链接数据库-ssh(sqlyog同理)。不用每次都重复的在shell里输入数据库连接了

 

推荐

公司内部,为了安全起见,常常会把开发机和线上机从网络上面分离开,有时候出于排查问题,须要经过跳板机链接到线上数据库。这里使用了 SwitchHosts 管理工具让开发、测试、线上环境切换更容易。

host管理工具SwitchHosts的使用
SwitchHosts高效切换host -- 让开发,测试,线上环境切换更容易

相关文章
相关标签/搜索