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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM