我们有一台 Centos 服务器,目前无法通过 SSH 访问它。大约 5 天前,它还可以正常工作。现在,登录机器的唯一方法是本地登录。我们尝试使用 Putty 和 FileZilla 进行 SSH,但都没有成功。机器运行正常,可以响应。我可以 ping 它,Apache 服务已启动并运行。但无法进行 SSH 访问。当我尝试使用 Putty 时,机器会要求我输入用户名。我照做了。当它要求我输入密码时,它再也没有回答,大约 60 秒后,它超时了……有什么想法我们应该从哪里着手解决这个问题吗?提前谢谢您!
答案1
我曾见过由于 /etc/resolv.conf 中 DNS 服务器配置错误而导致 SSH 登录挂起的情况。特别是当 sshd 使用 DNS 进行反向查找或日志记录时。检查服务器上的 DNS 配置,并验证您是否可以 ping 并解析外部名称(如 google.com)。
答案2
它从不回答?
它还在运行吗?检查:
ps aux| grep sshd
或者它接受连接但登录没有通过?
您是否尝试输入密码并按下 Enter 键?SSH 客户端通常不会像 Web 浏览器那样写出星号或点。
您也可以尝试 SSH 调试模式吗?尝试使用以下命令从另一个 Linux 机器进行连接:
ssh -vvv [email protected]
并检查输出是否存在任何问题。
还可以尝试从盒子本身进行 ssh(“ssh localhost”),看看是否可行。如果可行,而远程 ssh 不可行,则可能是网络(或防火墙)问题。
答案3
首先,您应该检查该服务器上的日志:/var/log/auth.log
或类似内容(我不知道 CentOS 上的 sshd 日志在哪里)。如果服务器拒绝连接,日志应该会告诉您原因。