0
我有3臺服務器:serverA
,serverB
和serverMySQL
。通過SSH隧道訪問MySQL數據庫
serverMySQL
位於防火牆之後,無法通過serverB
訪問。
serverA
可以通過SSH訪問serverB
和serverMySQL
。
有什麼辦法可以設置SSH隧道,以便我能夠訪問位於serverMySQL
的MySQL數據庫?
我有3臺服務器:serverA
,serverB
和serverMySQL
。通過SSH隧道訪問MySQL數據庫
serverMySQL
位於防火牆之後,無法通過serverB
訪問。
serverA
可以通過SSH訪問serverB
和serverMySQL
。
有什麼辦法可以設置SSH隧道,以便我能夠訪問位於serverMySQL
的MySQL數據庫?
如果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)
使用'autossh'可能是一個更好的辦法的任何端口,因爲它試圖保持連接。 – jotik
@jotik的評論很好,但它建立在我所告訴的基礎之上。在它工作之後,添加密鑰驗證(以便您不必始終輸入密碼),然後添加autossh。 – gfelisberto