SSH 連接超時
嗨,我已經瀏覽了整個網際網路,但找不到解決方案。我不是說我沒有找到任何東西,我是說我嘗試了很多東西但沒有任何效果。所以希望有人可以提供幫助。
我在家裡設置了一個 FreeNAS,我可以使用我的本地 IP 地址通過 SSH 連接到它。我有一個智能 Linksys 路由器,當我嘗試使用我的公共 IP 連接到家庭伺服器時,連接超時。
這是我執行調試 SSH 時得到的範例輸出
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading configuration data /etc/ssh_config debug1: /etc/ssh_config line 20: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to <My Public IP> [<My Public IP>] port 22. debug1: connect to address <My Public IP> port 22: Operation timed out ssh: connect to host <My Public IP> port 22: Operation timed out
如果您希望我包含其他任何內容,請告訴我。
更新 2015-07-21 埠轉發
我有埠轉發設置。這是我的單埠轉發的圖像。
更新 2015-07-21 防火牆
我在網上閱讀這個問題時遇到了這個問題。我查看了我的 NAS 防火牆。試圖阻止它,
/etc/rc.d/ipfw stop
它說firewall_enable="NO"
。我將其設置為“是”,然後再次執行停止命令。然後我用我的公共 IP 測試了 SSH,但仍然連接超時。然後我關閉了我的 linksys 和 freenas 防火牆。仍然連接超時。所以我不確定我做錯了什麼。那麼有沒有可能一步一步地告訴我如何正確關閉兩個防火牆。由於我無法正常工作,我已將 linksys 防火牆設置放回原處。
可能是防火牆阻止了從外部 IP 地址對 NAS 的 SSH 訪問,同時允許從 LAN 中的私有 IP 進行訪問。檢查 NAS 和路由器上的防火牆配置(如果有)。
使用的公共 ip 必須購買一個,並且應該從您當地的 ISP 獲得。如果是這樣,我認為您通過該公共 IP 地址進行 ssh 應該沒有問題。是這樣嗎。?
更新
“我的ip是什麼”當然會給你一個公網ip,但要注意它是動態的,不會一直堅持給你。好的,假設您通過鍵入“我的 ip 是什麼”得到的結果暫時保持不變,但是,我體驗到有一些 ISP 不會向 Internet 域內的這些動態公共 ip 添加路由。所以,這可能是你的情況。
即使您的本地 ISP 允許訪問這些動態公共 ip,您還需要在本地路由器上設置至少兩個步驟。
- 設置從網際網路端到本地網路的埠轉發。(如果對於 SSH(埠 22/tcp)範例)
localnetwork:22<-----router----->internet:22
- 不包括特定本地 IP 的 NAT。我所說的本地 IP 是您分配給本地伺服器的 IP 地址。這是為了確保您的本地路由器在轉發流量時不會進行任何 IP/埠轉換。