Ssh

到 postgresql 的連接掛在 OSX 上的 SSH 隧道上

  • December 27, 2018

嘗試連接到 OSX 上的遠端 PG 伺服器,但一直超時。

首先,我設置了隧道:

ssh -L 5433:serverip:5432 user@serverip

然後在一個單獨的終端中,我嘗試連接到 PG:

psql -h localhost -p 5433 -U user

在這裡,連接只停留了大約 3 分鐘。然後我收到以下消息:

psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

在 ssh 隧道終端上,我看到的是:

channel 3: new [direct-tcpip]
(3 mins later:)channel 3: open failed: connect failed: Connection timed out

我已經嘗試了我能想到的所有變體(localhost vs 127.0.0.1,diff 使用者名)。沒有任何工作。這個確切的設置在 Windows Putty 上執行良好,所以它不是伺服器。我還可以在伺服器上 ssh 和執行 psql,所以它不是 PG。

我相信您已配置為僅在 loopbavk ( )postgresql上收聽。localhost您應該像這樣使用轉發:

ssh -L 5433:localhost:5432 user@serverip

否則它將嘗試連接到您的伺服器的公共 IP,那裡沒有任何監聽或沒有授權登錄。

我遇到了一個非常相似的問題(這裡是 Ubuntu):PostgreSQL 埠的 ssh 隧道,psql 使用該隧道訪問遠端數據庫。當我在 psql 上請求自動完成(從 x 中選擇 *)時,隧道會掛起/崩潰。

解決方法:將所有介面的MTU從1500改為576。說明:http ://www.snailbook.com/faq/mtu-mismatch.auto.html

我生命中的幾個小時..

引用自:https://serverfault.com/questions/753255