我刚刚创建了一个新服务器(VM)并设置了 SSH,我可以正常登录。我创建了另一个用户帐户,将其添加到管理组中,并且 sudo 工作正常。
现在我想尝试禁用 root 登录,因此我编辑了 /etc/ssh/ssh_conf 文件:
Host *
PasswordAuthentication no
PermitRootLogin no
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Run Code Online (Sandbox Code Playgroud)
(以上几行都是被注释掉的行)。
注意:它没有 PermitRootLogin 所以我自己手动添加了它。
我正在运行 ubuntu 14.04
我仍然可以使用我的非 root 帐户登录,我也可以使用我的 root 登录名登录(它要求输入密码,然后工作正常)。
我确实重新启动了 ssh 服务,并且还重新启动了整个虚拟机以防万一。
这里可能出现什么问题?
你需要改变这个/etc/ssh/sshd_config。ssh_config设置适用于客户端,但PermitRootLogin不适用于客户端(请参阅“man ssh_config”了解适用的设置)。