如何禁用通过 ssh 远程 root 登录?
我想登录到我的服务器(我使用主电脑上的密钥),然后su
登录到根目录,而不是直接访问根目录。
我正在使用Debian。我遵循在线指南,其中提到添加PermitRootLogin no
到文件并再次提及Protocol 2
。然后重置ssh。/etc/init.d/ssh restart
。我这样做了,但没有成功。我能够使用 putty 登录 root。
如何在 Debian 上禁用远程 root 登录?
答案1
我将对此进行猜测,但我非常有信心。
我敢打赌PermitRootLogin yes
你的文件中已经有一行了。 SSH 将仅使用它找到的第一行,并忽略下面的重复行。因此,如果您只是添加到PermitRootLogin no
文件末尾而不删除上面的行,则不会有任何效果。
答案2
它的特点之一ssh
是基于 PAM 的身份验证不能完全由它直接控制。您应该检查 PAM 堆栈/etc/pam.d/sshd
;我会添加pam_access
到该auth
部分(参见pam_访问(8)和访问.conf(5)手册页)。
也就是说,PermitRootLogin No
应该无论如何工作。 (PermitRootLogin without-password
是螺丝盒。)