作者信息:https://home.cnblogs.com/u/huangjiabobk

在Linux中,如何禁用root用户直接SSH登录?

在Linux中禁用root用户的直接SSH登录是为了增强系统的安全性,因为允许root用户通过SSH远程登录会增加服务器被暴力破解的风险。以下是在Linux系统中禁止root用户直接SSH登录的步骤:

  1. 编辑SSH配置文件
    打开/etc/ssh/sshd_config文件,通常使用文本编辑器如vi、nano或emacs进行编辑。

    sudo vi /etc/ssh/sshd_config
    
  2. 修改配置项
    在sshd_config文件中找到PermitRootLogin这一行,将该行内容改为 no 或者添加此行(如果不存在的话):

    PermitRootLogin no
    

    这样就禁止了root用户通过密码验证登录SSH服务。

  3. 可选:仅允许密钥认证
    如果你希望进一步加强安全措施,可以禁止所有用户的密码登录,只允许基于公钥-私钥对的密钥认证。为此,请找到PasswordAuthentication选项并将其设置为 no

    PasswordAuthentication no
    

    确保在此之前已为其他非root管理员用户设置了SSH密钥对,并在服务器上的~/.ssh/authorized_keys文件中添加了他们的公钥。

  4. 重启SSH服务
    修改完配置后,需要重启SSH服务以使更改生效。不同Linux发行版可能有不同的命令来重启服务:

    对于systemd系统(例如Ubuntu 15.04及以后版本,CentOS 7等):

    sudo systemctl restart sshd
    

    对于sysvinit或者Upstart系统(例如Ubuntu 14.04及以前版本,CentOS 6等):

    sudo service sshd restart
    

综上所述,完成以上步骤后,root用户将不能直接通过SSH登录。如果你仍然需要具有root权限操作服务器,可以通过普通用户登录然后使用sudo或su命令切换至root账户。同时,强烈建议为所有用户启用两步验证或多因素认证以提高安全性。

posted @ 2024-03-17 22:32  黄嘉波  阅读(115)  评论(0编辑  收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波