連接到我的家庭 SSH 連線時出現問題

連接到我的家庭 SSH 連線時出現問題

作業系統:Ubuntu Budgie Remix 16.04

uname -a:Linux midgard 4.8.0-54-generic #57~16.04.1-Ubuntu SMP 5 月 24 日星期三 16:22:28 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

這看起來很基本,但我已經嘗試了很多東西,但這不起作用。以下是詳細資訊。

情況:我在住宅連接的連接埠 3791 上執行 sshd(為了避免簡單的網路掃描,試圖找到明顯的 ssh 守護程式)

sudo /usr/sbin/sshd -D -p 3791

問題:無連接

albion@midgard:~$ ssh {myIPv4OrIPv6} -p 3791 -v
OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to {myIPv4OrIPv6} port 3791.
debug1: connect to address {myIPv4OrIPv6} port 3791: Connection timed out
ssh: connect to host {myIPv4OrIPv6} port 3791: Connection timed out

我已經驗證過的事:

  1. 我已經 nmap'ed localhost 並且能夠看到開放的端口
  2. 我已經 ssh 進入 localhost 並且能夠成功登入
  3. 檢查了 iptables('sudo iptables -L')是否有任何規則,但沒有任何規則。
  4. 也可以透過「sudo systemctl stop ufw」停用 ufw,以防萬一。
  5. 我的路由器配置為允許連接埠 3791 上的連接埠轉送到同一連接埠上的 LAN 位址 (192.168.0.2)。
  6. 我已經停用了路由器級防火牆的選項。
  7. 打電話給我的 ISP 只是想看看他們是否有任何想法,當然,他們沒有。

有人能想到有什麼值得檢查的嗎?一件奇怪的事情是,當我對 IPv4 執行 ping 操作時,我能夠執行 ping 操作並獲得回應,但當我對 IPv6 執行 ping 操作時卻沒有得到任何答案。這可能是無關的,但我想我會提到。

答案1

強調@steeldriver 的答案,因為我認為這是正確的。

顯然問題是我的路由器缺乏對 NAT 環回的支援: https://en.wikipedia.org/wiki/Network_address_translation#NAT_loopback

情況似乎如此,因為如果網路中的其他計算機使用內部 LAN IP(例如 192.168.0.2),我可以從它們連接到我的計算機外部,如果他們使用我的 IPv6 IP。

所以解決方法是:

1) 從相同網路連線時,使用 LAN IP(或本機主機,如果是相同裝置) 2) 從外部連線時,請使用 IPv6 位址(如果您的 ISP 為您提供)或 IPv4 位址(前提是您設定了連接埠轉送規則)。

謝謝@steeldriver!

相關內容