
使用 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/本地網路/其他任何地方的位址。