ssh隧道遠程連接mysql


有時候比如一些雲主機,沒有開放3306端口,這里可以用ssh隧道來連接數據庫,更加安全

注意點:

1.本地ssh可以登錄遠程服務器,(密碼或者秘鑰)

2.遠程數據庫需要賦權限給隧道端的ip

命令:

ssh -NCPf root@111.111.111.111 -L 3388:192.168.1.1:3306

參數:

-C    使用壓縮功能,是可選的,加快速度。 
-P    用一個非特權端口進行出去的連接。 
-f    一旦SSH完成認證並建立port forwarding,則轉入后台運行。 
-N    不執行遠程命令。該參數在只打開轉發端口時很有用(V2版本SSH支持)

這里的root@111.111.111.111是連接遠程服務器的用戶名和IP

-L 3388:192.168.1.1:3306  這里表示建立的隧道,3388是本機端口,通過3388和遠程服務器建立隧道,192.168.1.1是內網ip,可以用127.0.0.1,當然也可以用外網ip,這里要注意數據庫要給這個ip賦權,因為隧道連接實際上就是數據庫連接的這個ip ,后面的是遠程數據庫的端口

這個命令在本地運行

運行這個命令會在本地機器上開啟3388端口

ss和nestat 和lsof可以看到,開啟了127.0.0.1:3388

連接:

本地裝好mysql客戶端

mysql -u用戶名 -P 3388 -h127.0.0.1 -p密碼

恭喜你登陸了

 


免責聲明!

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



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