2015-10-16 114 views
0

我試圖通過SSH連接到MySQL Workbench遠程數據庫。我嘗試連接的遠程數據庫具有防火牆,這是私鑰保護(我已經將此轉換爲OPEN SHH)。當我嘗試連接時,我不斷收到錯誤信息,我只是對我應該使用的數據庫的信息有些困惑。我始終看到人們使用本地主機,而DB在不同問題的同一時刻間歇性地改變。我的設置目前是我必須連接到防火牆的服務器(檢查),現在有多個虛擬機正在運行,我希望連接到例如192.1.91.0。我還在localhost 5000上建立了一個端口(我不知道這是否相關)。當我嘗試使用192.1.91.0端口3306或localhost 5000進行連接時,出現同樣的錯誤。任何人都可以幫忙附加是我放入工作臺的信息的圖像enter image description here通過SSH連接遠程MySQL數據庫工作臺

回答

1

我想這裏有一些誤解。防火牆不受密鑰對保護。 SSH連接是。防火牆僅使用特定規則過濾網絡流量(例如,只允許其通過啓用的網絡端口)。當您使用SSH連接時,您必須使用從遠程SSH連接端看到的MySQL地址。這意味着如果MySQL服務器與SSH服務器運行在同一臺計算機上(這是您使用SSH隧道時連接的那臺計算機),那麼地址是localhost(或IPv4/IPv6環回地址)。有關更多詳情,請參閱我在YouTube上關於connection creation and troubleshooting的視頻。

+0

感謝您的指導,但我仍然無法理解一些事情。目前,如果我使用putty和公鑰/私鑰進行身份驗證,那麼我可以使用ssh [email protected]從@ 86.12343.11開始。然後我使用mysql -user -pword連接到mysql數據庫。對於SSH HOSTNAME,我假設我使用86.12343.11,但是如何指定我想要連接的服務器(192.134.3.21)? – TrevDred

+0

聽起來像一個雙跳。您首先有一個到86.x.x.x的SSH連接,從那裏到另一個連接到192.x.x.x.從那裏你連接到另一臺機器上的MySQL服務器?恐怕WB不直接支持這種雙跳。它創建一個SSH隧道,並期望從該遠程端到達MySQL服務器。你可以嘗試用第一個SSH端點的putty創建一個隧道,然後配置WB,就好像它在那個端點上一樣,但我從來沒有嘗試過,所以我不知道它是否以這種方式工作。 –

+0

沒有mysql服務器在192.x.x.x上 – TrevDred

0

如果MySQL服務器配置爲接受遠程連接,則可以使用服務器的IP地址,但不需要通過ssh進行連接。一旦選擇通過ssh進行連接,工作臺將使用SSH憑證創建一個portforwarding到指定的服務器。所以你必須使用localhost作爲MySQL主機名。由於端口轉發,請求將被轉發到您的遠程機器。總之:據我瞭解你的問題,你必須使用本地主機。