1. 程式人生 > >Navicat(連線) -之SSH 設定(SSH遠端登入失敗,提示“Password authentication failed”)

Navicat(連線) -之SSH 設定(SSH遠端登入失敗,提示“Password authentication failed”)

SSH 設定

Secure SHell (SSH) 是一個通過網路登入其他計算機的程式,在遠端伺服器執行命令,和從一臺機器移動檔案到另一臺。在不安全的網路中,它提供兩臺主機之間強大認證和安全加密的的通訊,被稱為 SSH Port Forwarding (Tunneling)。通常情況下,它是使用為一個 Telnet 的加密版本。

在一個 Telnet 階段作業,全部的通訊,包括使用者名稱和密碼,會用純文字傳輸,讓任何人都能監聽你的階段作業及竊取密碼或其他資訊。這種階段作業也容易受到階段作業劫持,一旦你驗證,惡意使用者就能接管這種階段作業。SSH 的目的是防止這種漏洞,並允許你在不影響安全性的情況下訪問遠端伺服器的 shell。

注意:只限於 MySQL、Oracle、PostgreSQL、SQL Server 和 MariaDB。

請確保在 Linux 伺服器的引數 -「AllowTcpForwarding」設定值為「yes」,否則,會禁用 SSH port forwarding。要查詢路徑:/etc/ssh/sshd_config。在預設情況下,SSH port forwarding 應該已啟用。請仔細檢查該值的設定。
即使伺服器支援 SSH 通道,然而,如果 port forwarding 被禁用,Navicat 就無法通過 SSH 埠 22 連線。

常規選項卡
主機名或 IP 地址:127.0.0.1 or localhost
埠:預設情況下它是3306
使用者名稱:資料庫使用者名稱
密碼:資料庫密碼

SSH選項卡
主機名或 IP 地址:伺服器IP or 主機名
SSH 伺服器的埠:預設情況下它是22
使用者名稱:伺服器的使用者名稱(不是資料庫的使用者名稱)
密碼:伺服器的密碼

我會先點一下連線測試驗證一下密碼是否正確(個人習慣)

總結下來就是:

  1. vi伺服器端的/etc/ssh/sshd_config;

  2. 把PasswordAuthentication設成yes;
    AllowTcpForwarding 設定 yes;

  3. 重啟ssh服務service sshd restart ;

  4. 再試著重新用Navicat連線資料庫吧!

PS:要是還連不上我也沒辦法了。去找其它方法一個一個試吧。祝好運!!!