我的一台 ec2 服务器已停止接收 ssh 连接。操作系统是Ubuntu服务器8.04,ssh服务器是标准的openssh-server
。
经过几个月的正常运行后,我今天尝试连接到它,并收到以下消息:
ssh_exchange_identification: Connection closed by remote host
知道可能出了什么问题吗?
更新:重新启动后,服务器开始接收新连接。磁盘使用率低于 50%。
答案1
现在您再次拥有访问权限,请检查日志以确定是否存在有关您被阻止原因的线索(如果有)。
tail -n300 /var/log/auth.log | grep ssh 1
另一件要记住的事情是,如果再次发生这种情况,您可以ssh
使用该选项在详细模式下运行-vvv
,这将返回更详细的诊断信息。从man ssh
:
-v 详细模式。使 ssh 打印有关其进度的调试消息。这有助于调试连接、身份验证和配置问题。多个 -v 选项会增加详细程度。最大值为 3。
[1] 您可能需要将尾数增加/减少 ( -n
) 来识别相关条目。
答案2
如果多个客户端同时尝试进行身份验证,这是正常情况。这是由以下配置的最大创业公司/etc/ssh/sshd_config 中的选项
如果MaxStartups=3,并且有4个客户端尝试连接,最后一个客户端将显示您的消息,它会被服务器拒绝,因为服务器端等待的身份验证过多。
sshd 的行为是为了防止暴力攻击。
答案3
这可能是由于时间偏差造成的。确保所有计算机都从互联网时间服务器获取时间。
答案4
自动软件包更新不太可能失败。
可能是硬件故障、软件故障(内核资源泄漏)、临时路由故障或黑客攻击失败。
我假设 EC2 有一个本地托管用户数据库。