ssh 挂在“上次登录”行

ssh 挂在“上次登录”行

三天前第一次发生这种情况 - 我通过 ssh 连接到服务器,使用密码进行身份验证,收到欢迎消息,但它仍然挂在“上次登录:...”行。命令行不显示,服务器对我的输入没有反应。服务器上的其他服务继续正常工作(apache、tomcat、数据库等)。该机箱有一个带外管理,我可以使用它重新启动它。重新启动后,ssh 再次正常工作,我在日志中没有发现任何可疑的东西。三天后,同样的问题再次出现在这个机箱上,并且最近又出现在集群中的另一台服务器上 - 100% 相同的症状。

两台服务器都安装了大约 2 个月前的 Debian Squeeze (6.0.2),尽管频繁使用 ssh,但问题从未发生过,所以这应该不是设置问题。我们已经有一段时间没有安装任何新东西了。我还确保两台服务器上都有足够的磁盘空间。由于两台服务器几乎同时突然出现这种情况,我怀疑可能是通过 Debian 更新引入了某些错误,但我还没有找到遇到同样问题的人。

我发现最类似的问题:

ssh 在“上次登录行”处冻结- 在我们的情况下,直到最近一切都运行正常,所以与设置无关的问题不应该是我们的问题。检查了磁盘空间,我无法检查内存,但如果系统内存不足,我预计日志中会有一些内容。

远程 Fedora 系统无响应,尝试登录时出现奇怪但一致的行为- 服务器负载过高的问题;与此情况不同,即使我等待 10 分钟以上,也没有任何变化

答案1

使用 登录ssh -vvv并查看显示什么调试信息。这很奇怪,因为最后一个登录行通常是在设置 ssh 会话之后。还要检查您的 /var/log/{messages,auth,daemon} 以及其他相关内容。

您的驱动器已满吗?配置是否发生了意外?我知道您没有更改它,但也许有些东西被破坏了?

答案2

如果挂起问题在 1 到 2 分钟后消失,则可能是 DNS 服务器无法访问的问题。

如果不是这样,请考虑使用ServerAliveIntervalKeepAlive yesClientAliveInterval(例如 60)

答案3

您的配置中出现了意外情况。nfs/samba/其他目录下的主目录?您的 .bashrc 或其他启动文件中是否有执行的内容?

答案4

这刚发生在我身上。就我的情况而言,结果是最近对 .bashrc 文件的更改导致了无限循环(.bashrc 正在获取 .bash_profile,而 .bash_profile 正在获取 .bashrc,哎呀!)在显示最后一行登录信息后,我能够按 Ctrl+c 并进入提示符并更正我的错误。

相关内容