mysql ssh 跳板機(堡壘機???)連接服務器
跳板機(Jump Server),也稱堡壘機,是一類可作為跳板批量操作遠程設備的網絡設備,是系統管理員或運維人員常用的操作平臺之一。
正常的登錄流程
使用ssh命令登錄跳板機;
登錄跳板機成功後,在跳板機分配的終端中使用ssh命令再登錄開發機,跳板機和開發機之間采用帶密碼的ssh驗證,因此需要輸入ssh私鑰的密碼。
ssh隧道(通過跳板機)連接mysql
案例:
A服務器 B服務器 C服務器mysql
現在mysql服務器C只能通過內網訪問,B服務器就能通過內網連接訪問到mysql
A服務器無法直接連接C服務器mysql,所以要通過跳板機(跳板機指的是B服務器)連接mysql
實現:
在A服務器下面執行命令
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 [email protected]_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或域名
看到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這個tab3. 選中User SSH Tunnel;填寫跳板機域名/IP,用戶名,密碼(註意:端口22不要變)
4. 點擊OK,保存鏈接,打開鏈接完成通過ssh通道連接跳板機達到連接數據庫的目的。不用每次都重復的在shell裏輸入數據庫鏈接了
推薦
公司內部,為了安全起見,經常會把開發機和線上機從網絡上面分離開,有時候出於排查問題,需要通過跳板機連接到線上數據庫。這裏使用了 SwitchHosts 管理工具讓開發、測試、線上環境切換更容易。
host管理工具SwitchHosts的使用
SwitchHosts高效切換host -- 讓開發,測試,線上環境切換更容易
mysql ssh 跳板機(堡壘機???)連接服務器