我与服务器的 ssh 连接每 30 分钟工作一次,持续约 10 分钟。
我发现可能存在问题的地方如下:
服务器负载不足(它是一个数据库服务器),但是在我可以连接的空闲时刻,它仍然处于相同的负载之下,这没有意义。
服务器是 ubuntu,consolekit 使用了大量虚拟内存。重新启动 consolekit 后,它似乎现在使用的内存量正确。
这不是主机允许或拒绝。这些设置正确。
这不是防火墙问题。这些设置有效,并且相同的设置在其他类似机器上也有效。
它位于 ec2.Amazon 云上。
答案1
您需要增加/etc/ssh/sshd_config
服务器上的日志记录级别,然后查看 /var/logs 下的日志中是否有任何有用的信息。此外,您还应考虑以-d
调试模式启动 sshd,看看是否能通过这种方式找到任何有趣的东西。
另一个很好的故障排除方法是使用 -d 启动 sshd,并用它strace -p <pid>
来记录 ssh 服务器发出的系统调用。例如,这可以告诉你它是否在访问特定文件时挂起。
答案2
这通常是由于无法写入系统的 /var 区域,我们时不时会在系统上看到这种情况,特别是当 /var 变为只读时。通过 cat /proc/mounts 检查(使用此方法而不是任何其他方法,因为它们可能会被愚弄,但不会。)