2016-05-12 68 views
0

我有3臺服務器:serverA,serverBserverMySQL通過SSH隧道訪問MySQL數據庫

serverMySQL位於防火牆之後,無法通過serverB訪問。

serverA可以通過SSH訪問serverBserverMySQL

有什麼辦法可以設置SSH隧道,以便我能夠訪問位於serverMySQL的MySQL數據庫?

回答

0

如果serverB上可以訪問MySQL服務器(端口3306不是SSH),您必須在serverA的運行:

ssh -L 3306:mysqlServer:3306 serverB 

在serverA的再配置MySQL服務器127.0.0.1:3306

如果只有serverB上可以用SSH訪問MySQL,那麼你必須在serverA的運行:

ssh -L 3306:127.0.0.1:12345 serverB 

,然後在serverB上:

ssh -L 12345:127.0.0.1:3306 serverMySQL 

12345只是未使用(和超過1024)

+1

使用'autossh'可能是一個更好的辦法的任何端口,因爲它試圖保持連接。 – jotik

+0

@jotik的評論很好,但它建立在我所告訴的基礎之上。在它工作之後,添加密鑰驗證(以便您不必始終輸入密碼),然後添加autossh。 – gfelisberto