Ssh
SSH“kex_exchange_identification:讀取:對等方重置連接”
設置:
- Raspberry 3B 在外部 HDD 上執行 Raspbian Stretch 9 並使用 ZRAM
- Raspi 用作執行 LAMP 和 MERN 堆棧的網路伺服器,並通過 SSH 和 1 個 IDE(Coda for Mac OS)遠端訪問
- 靜態 IP 路由器轉發的 SSH 埠
- 失敗2禁令執行
問題:
當通過 SSH 從遠端位置(通過 Internet)訪問樹莓派時,它會一直工作,直到連接掛起。這是隨機發生的。有時我可以在幾分鐘後再次 SSH 它,有時直到我重新啟動 Raspi 才可以。
我試過的:
- 從遠端位置以詳細模式進行 SSH:
debug1: Local version string SSH-2.0-OpenSSH_8.1 kex_exchange_identification: read: Connection reset by peer
- 從本地網路以詳細模式進行 SSH(我實際上是遠端 SSH 本地網路上的另一台機器,然後從該機器對 Raspi 進行 SSH)。結果相同:
Connection reset by peer
- 檢查
/etc/hosts.allow
並/etc/hosts.deny
=>那裡什麼都沒有- *通過=>*檢查 iptables
iptables -L --line-number
- 檢查日誌:
/var/log/fail2ban.log
和sudo journalctl -t sshd
=>那裡沒有什麼引人注目的- 更新
sshd_config
為no DNS
- 通過重新安裝SSH
apt-get --reinstall install openssh-server openssh-client
我在這裡沒有想法,也不知道發生了什麼。之前有人遇到過與 SSH 連接相同的問題嗎?這可能是覆盆子的負載問題嗎?
長話短說,我的問題與網路問題無關,通過檢查syslog已解決。
詳細說明:
我注意到在問題開始之前啟動並執行的所有 Web 應用程序(通過 LAMP 或 MERN 堆棧)都無法再訪問。
所以我用命令探勘了系統日誌
tail -f -n X /var/log/syslog
(用你想要顯示的行數替換 X)。然後我注意到幾行提到電壓問題(對不起,我確實保留了確切的條款)。但基本上這意味著我的外接硬碟插入的Raspi沒有足夠強大的電源。然後看起來硬碟被解除安裝並且系統崩潰了,這解釋了上面提到的所有問題。
因此,我卸下了 HDD,將 SD 卡放回原處並再次執行 Raspi,同時再次查看syslog並使用htop監視記憶體。事實證明,當我同時啟動 apache 和節點伺服器時,RAM 和 SWAP 記憶體已滿,重複上述相同的結果。
所以最後我通過使用 ZRAM 增加了 SWAP 記憶體。連結在這裡。
現在一切執行良好,但仍在監控。