
設定:
- 在外部 HDD 上執行 Raspbian Stretch 9 並使用 ZRAM 的 Raspberry 3B
- Raspi 用作運行 LAMP 和 MERN 堆疊的網路伺服器,並透過 SSH 使用 1 個 IDE(適用於 Mac OS 的 Coda)進行遠端存取
- 由具有靜態 IP 的路由器轉送的 SSH 端口
- 失敗2禁止運行
問題:
當透過 SSH 從遠端位置(透過網路)存取樹莓派時,它會一直工作直到連線掛起。這是隨機發生的。有時我可以在幾分鐘後再次透過 SSH 連接,有時則需要重新啟動 Raspi。
我嘗試過的:
- 從遠端位置以詳細模式進行 SSH:
debug1: Local version string SSH-2.0-OpenSSH_8.1
kex_exchange_identification: read: Connection reset by peer
- 從本地網路以詳細模式進行 SSH(實際上,我遠端使用本機網路上的另一台電腦進行 SSH,然後從該電腦透過 SSH 進行 Raspi)。結果相同:
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 連線時遇到同樣的問題嗎?這可能是樹莓派的負載問題嗎?
答案1
長話短說,我的問題與網路問題無關,透過檢查解決了系統日誌。
詳細資訊:
我注意到在問題開始之前啟動並運行的所有 Web 應用程式(透過 LAMP 或 MERN 堆疊)都不再可存取。
所以我用指令挖了系統日誌tail -f -n X /var/log/syslog
(用你想要顯示的行數取代X)。然後我注意到有幾行提到電壓問題(抱歉,我確實保留了確切的條款)。但基本上這意味著我的外接硬碟插入的Raspi沒有足夠強大的電源。
後來一看,硬碟被卸載了,系統崩潰了,這就解釋了上面提到的所有問題。
所以我移除了 HDD,放回 SD 卡,然後再次運行 Raspi,同時檢查系統日誌再次監視記憶體頂部。事實證明,當我啟動 apache 和 Node 伺服器時,RAM 和 SWAP 記憶體已滿,重複了上述相同的結果。
所以最後我透過使用ZRAM來增加SWAP記憶體。連結在這裡。
現在一切運作良好,但仍在監控。