我正在运行 CentOS 6 服务器并且遇到了 SSH 问题。
我的 SSH 服务无法再启动。我只能使用 Direct Admin 访问一些工具。
起初我无法连接到 SSH,它给出了以下消息:
Jordis-iMac:~ jordikroon$ ssh ***.***.***.***
ssh: connect to host ***.***.***.*** port 22: Connection refused
我的反应是重新启动 Direct Admin 中的 SSH 客户端。这不起作用,并显示以下消息:
An error has occurred
Details
/sbin/service sshd restart 2>&1
我尝试终止有效的进程 ID,但是我无法启动 SSH,它给了我同样的错误。
我已经检查过/var/log/messages
它们没有错误或任何有关 SSH 的其他问题......
唯一包含信息的文件是 DirectAdminserrortaskq.log
文件,其信息如下:
2014:06:16-01:14:02: Error starting service sshd : uid 0 gid 0 : /sbin/service sshd start >>/dev/null 2>>/dev/null
2014:06:16-01:14:07: service sshd didn't start, re-starting it
2014:06:16-01:14:07: Error restarting service sshd : uid 0 gid 0 : /sbin/service sshd restart >>/dev/null 2>>/dev/null
我被这个问题难住了。只有当我真的没有其他选择时,我才会重新启动服务器,当服务器无法启动时,我就会停机。
我可以读取和写入文件,但不需要 sudo(我可以在数据中心)。
答案1
我在自己的机器(CentOS 6)上运行了你的配置,显然发生了以下情况:
[root@knope ~]# /usr/sbin/sshd -f sshd_config -p222
sshd_config line 150: Directive 'AllowUsers' is not allowed within a Match block
[root@knope ~]#
显然,AllowedUsers dav 是在“匹配用户指令”之后添加的,无论是手动添加还是由应用程序添加。它应该位于其他用户指令之后。
最好的方法是删除该行或移动到以下指令后:
AllowUsers root
AllowUsers jordi
AllowUsers imgios
AllowUsers spot
如果您没有办法更新该文件,请尝试查看是否有该文件的备份,然后在现有文件上恢复它。或者,如果您安装了添加了该行的内容,您可以尝试卸载它,看看该行是否消失。