為什麼 ssh 連線無法透過完整正確的設定進行連線?

為什麼 ssh 連線無法透過完整正確的設定進行連線?

使用 Ubuntu Server 14.04,我讓 ssh 伺服器在連接埠 2222 上運行(他們在建置時這樣問)。我已經檢查了整個設置,但似乎沒有什麼問題。

這是設定的:

  • 在建置時,他們將連接埠 2222 上的 TCP 連線重新導向到我的 IP。
  • 端口 80 也是如此,我可以訪問該端口。
  • 當我嘗試透過連接埠 2222 上的 SSH 連線時,我可以使用以下命令查看傳入的網路活動iftop
  • 我有ufw按照正確的規則運行:

    2222/TCP ALLOW Anywhere

  • sshd.conf我拿到的文件:

  • 我的 ssh 伺服器正在監聽連接埠 2222。

  • 我將 ssh 伺服器設定為日誌記錄模式,但在嘗試連線時AUTH看不到任何內容。/var/log/auth.log
  • 這是我的 sshd.conf 文件
  • 是的,ssh 守護程序正在運行並且已重新啟動。

因此,每當我嘗試連接時,我都會收到類似以下的訊息:

ssh: connect to host <publicbuildingip> port 2222: Connection refused

在詳細模式下運行客戶端輸出:

debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to <publicip> [<publicip>] port 2222.
debug1: connect to address <publicip> port 2222: Connection refused
ssh: connect to host <publicip> port 2222: Connection refused

如果我嘗試從同一網路的主機登錄,也會發生同樣的情況。

跑步netstat在伺服器上類似sudo netstat -tulpn | grep ssh輸出:

tcp    0    0 127.0.0.1:2222    0.0.0.0:*    LISTEN    969/sshd

跑步nmap針對來自網路外部的公共IP輸出:

Host is up (0.051s latency).
Not shown: 996 filtered ports
PORT     STATE  SERVICE
21/tcp   closed ftp
80/tcp   open   http
2222/tcp closed unknown
8080/tcp closed http-proxy

Nmap done: 1 IP address (1 host up) scanned in 5.31 seconds

嘗試telnet <publicip>2222

輸出:

telnet: Unable to connect to remote host: Connection refused

如果嘗試使用建築物內的網路 IP,情況也是如此。

但是 iftop 在伺服器上執行表示嘗試登入時實際上存在網路活動。

跑步tcpdump在伺服器上,例如:tcpdump -vniay port 2222 -i eth0將在登入嘗試時輸出:

15:53:36.812402 IP (tos 0x0, ttl 64, id 56954, offset 0, flags [DF], proto TCP (6), length 60)
  192.168.1.86.39822 > 192.168.1.90.2222: Flags [S], cksum 0xa1b8 (correct), seq 3966921350, win 292000, options [mss 1460,sackOK,TS val 308476 ecr 0,nop,wscale 7], lenght 0

它可能會失敗什麼?

答案1

基於該netstat輸出和您的sshd設定檔(尤其是這條線)您的 SSH 守護程式正在偵聽僅本地 IP 位址 (127.0.0.1),而不是實際與 LAN 通訊或透過網路上的路由器/網關設備出站通訊的 IP。

驗證您的 LAN 上sshd_config是否設定有ListenAddress線路,例如指派給伺服器的專用 LAN IP 位址。如果您沒有,請在 port 指令之後新增它,使用諸如ListenAddress 0.0.0.0或 之類的語法ListenAddress ::,將這些項目替換為實際的 IPv4 或 IPv6 位址。

請記住,綁定到 127.0.0.0/8 中的任何 IP 位址只會在本機電腦本身結束,而不是任何可以實際路由到 LAN/本地網路/其他任何地方的位址。

相關內容