设置:
- 在外部 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内存。链接在这里。
现在一切运行良好,但仍在监控。