如何在服务器中进行 SSH 时出现:访问被拒绝

如何在服务器中进行 SSH 时出现:访问被拒绝

有2个用户: root seconduser

我需要更改他们两个的密码,所以我就这么做了。之后,我access denied在登录时会收到错误seconduser。但是,我仍然可以使用root新密码以用户身份登录。

为了允许seconduser,我etc/ssh/sshd_config通过在文档底部添加以下内容进行了编辑:

AllowUsers seconduser

之后重新启动 sshd 并注销 root 尝试以seconduser.这不起作用(同样的错误:访问被拒绝),但现在我root也为用户得到了同样的结果。我基本上无法访问服务器。

如何重新获得访问权限?服务器运行的是 CentOS 6.8。

任何帮助深表感谢。

答案1

简短的回答:你把自己搞砸了,必须亲自接触机器才能拧开它。

长答案:您误解了该指令的含义和语法AllowUsers

从联机帮助页:

 AllowUsers
         This keyword can be followed by a list of user name patterns,
         separated by spaces.  If specified, login is allowed only for
         user names that match one of the patterns.  Only user names are
         valid; a numerical user ID is not recognized.  By default, login
         is allowed for all users.  If the pattern takes the form
         USER@HOST then USER and HOST are separately checked, restricting
         logins to particular users from particular hosts.  HOST criteria
         may additionally contain addresses to match in CIDR
         address/masklen format.  The allow/deny directives are processed
         in the following order: DenyUsers, AllowUsers, DenyGroups, and
         finally AllowGroups.

         See PATTERNS in ssh_config(5) for more information on patterns.

注意第二句:“如果指定,则允许登录仅适用于与其中一种模式匹配的用户名

当您添加第二个用户(并且仅第二个用户)时,AllowedUsers您锁定了所有其他用户。包括根。无论您在 ssh 中配置错误或在更改第二个用户的密码时输入错误,都会阻止您以该用户身份登录。

实际上不可能获得有关您无法登录的原因的更多信息;毕竟,ssh无法判断您是试图暴力破解密码的敌对行为者还是忘记实际密码的合法用户,并且向前者提供有关如何成功登录的有用提示将存在安全风险。

如果您使用标准 unix openSSH,您可以尝试使用ssh -vvv连接 并查看握手中是否有任何内容表明您可能做错了什么(除了没有输入正确的凭据之外),但考虑到 root做过工作直到你把那部分关上门大概这不是问题。

相关内容