跳板機(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 -- 讓開發,測試,線上環境切換更容易