Answers:
您可以使用PermitRootLogin
指令执行此操作。从sshd_config
联机帮助页:
指定root是否可以使用ssh(1)登录。参数必须为“是”,“无密码”,“仅强制命令”或“否”。默认值为“是”。
如果此选项设置为“ without-password”,则root用户的密码身份验证被禁用。
以下将完成您想要的:
PasswordAuthentication yes
PermitRootLogin without-password
ssh -o PreferredAuthentications=password root@host
不是特别安全的恕我直言
我在授予我的服务器上的root权限时采用了更为严格的方法,这对于像我这样的偏执狂可能很有趣。请注意您的操作和操作顺序,否则可能会导致无法获得root用户访问权限。
sugroup
,将允许whos成员成为root并仅通过在 sshd_confid 末尾放置以下几行来允许对此组进行密钥身份验证:Match Group sugroup
PasswordAuthentication no
auth required pam_wheel.so group=sugroup
放在中/etc/pam.d/su
。它可能已经存在,您只需要取消注释即可。这将拒绝所有不是sugroup成员的用户的root用户访问权限PermitRootLogin no
in 拒绝通过ssh进行直接root登录/etc/ssh/sshd_config
。使用此配置,必须使用密钥身份验证和密码才能成为root用户。我这样配置服务器,因为无论身份验证方法如何,我都希望不通过ssh直接进行根访问。
service ssh restart
在服务器上进行了验证,然后在客户端上尝试使用我的密钥进行连接,ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@host
而实际上我无法使用密码登录,但可以使用root用户的密钥登录。