我在連接到遠端資料庫伺服器時遇到問題。
我使用的是 Windows 10客戶並且可以成功連接到我的 Ubuntu 16伺服器透過 SSH 使用 putty,包括金鑰對。
現在我有一個 MongoDB 伺服器在伺服器上運行,我想從客戶端連接到該伺服器,但我不希望該伺服器暴露在互聯網上(無論如何它不適合公共使用),所以我想使用我的 SSH隧道並透過它轉送正確的連接埠。我在伺服器內部本地使用資料庫伺服器沒有問題。
然而,當嘗試從客戶端連接到資料庫時,我收到連接被拒絕的訊息。
在伺服器上,/var/log/auth.log
嘗試連接時我得到:
sshd[30753]:錯誤:connect_to <public-ip-redacted> 連接埠 27017:失敗。
伺服器上的 sshd_config 有
網關連接埠 是
允許代理轉發 是
允許Tcp轉送 是
因此,我在客戶端上設定了 putty,並將本機連接埠轉送到遠端。
在有 tcptrack 的伺服器上我可以看到一些連接彈出,但在環回介面上重置當嘗試從客戶端連線時,它們會在 1-2 秒後消失。
我缺什麼?
答案1
mongoDB 伺服器僅監聽其每個/etc/mongod.conf
檔案的 127.0.0.1。 putty 隧道連接埠轉送應該設定為 127.0.0.1:<port> 而不是 <public-remote-ip>:<port>,因為我猜,putty 隱含地將其轉換為遠端主機的本機主機。