为什么我的服务器间歇性地拒绝 ssh 连接?

为什么我的服务器间歇性地拒绝 ssh 连接?

背景

我有一个 ssh 和 OwnCloud 服务器。我的桌面 OwnCloud 客户端经常断开连接。尝试 ssh 进入我的服务器会导致Connection refused.我可以 ping 服务器,但无法通过 ssh 或 OwnCloud 客户端连接。奇怪的是,我连接到 OwnCloud 网页正常。

几分钟后,我可以通过 ssh 连接。但是,我有时会被踢出会话,并且有几分钟无法再次连接。这件事刚刚发生,让我可以查看/var/log新修改的日志。以下内容最近均已修改,但没有包含任何有趣的内容:wtmp lastlog auth.log ufw.log syslog messages kern.log

被锁定后,我也尝试过重新启动,但这并不能立即解决问题。过去,我总是在重启后 60 秒左右才能连接。现在,我有几分钟无法连接。如上所述,可以 ping 通,但无法立即连接。

如何让我的 ssh/OwnCloud 服务器始终工作?

其他信息

服务器是运行 Raspbian Jessie 的 Raspberry Pi(测试)。我也使用ufwfail2ban

答案1

该问题似乎是由另一个连接的设备竞争同一 IP 地址引起的。我不确定它是如何混淆路由器的,但是当我断开其他设备(Volumio Raspberry Pi)的连接时,我可以再次正常连接到主服务器。

答案2

我使用 Raspberry Pi 在 Raspbian 上的设备上运行大量服务。如果您的系统上运行着 Owncloud,则必须确保 apache 或 sshd 全天候 (24/7/365) 运行。根据我的理解,如果设备过热,它就会开始表现得很有趣,就像在连接时启动 ssh 一样。我还意识到,在我的实验室中,其他计算机开始变热,因此我必须在设备上切出一个正方形,并安装一个从 Radioshack 购买的小风扇,连接到 GPIO 引脚。

重启几次后问题就解决了。一旦设备开机且稳定,您将能够建立 SSH 连接并保持登录状态数天、数月甚至数年。

在做任何事情之前先尝试一下这个。通过发出以下命令获取单位温度详细信息:

/opt/vc/bin/vcgencmd measure_temp

您还可以将其添加到您的别名中:

cd ~

sudo nano .bash_aliases

alias temp='/opt/vc/bin/vcgencmd measure_temp'

相关内容