当前位置:首页 > Linux > 正文

Linux如何启用root密码直接登录

修改/etc/ssh/sshd_config文件,将 PermitRootLogin设置为 yes,保存后重启SSH服务(如 systemctl restart sshd),并为root用户设置密码即可,但此举会降低系统安全性,不推荐。

Linux如何直接使用root登录密码

在Linux系统中,root用户拥有最高权限,默认情况下,出于安全考虑,大多数发行版禁止直接通过密码以root身份远程登录(如SSH),但在特定场景(如本地调试或内部环境)下,可能需要启用此功能,以下是详细操作指南:


核心步骤:启用root密码登录

  1. 设置root密码

    若未设置过root密码,先执行:

    输入当前用户密码后,设置新的root密码(需输入两次确认)。

  2. 修改SSH配置文件

    编辑SSH守护进程配置文件:

    sudo nano /etc/ssh/sshd_config

    找到以下参数并修改为:

    Linux如何启用root密码直接登录 第1张

    PermitRootLogin yes # 允许root登录 PasswordAuthentication yes # 启用密码验证

    若参数被注释(行首有),需删除注释符号。

  3. 重启SSH服务

    • Debian/Ubuntu: sudo systemctl restart ssh
    • CentOS/RHEL: sudo systemctl restart sshd
    • 测试登录

      从另一台机器验证:

      ssh root@服务器IP

      输入设置的root密码,确认登录成功。

      Linux如何启用root密码直接登录 第2张

    • 安全风险与加固建议

      ️ 重要警告

      直接允许root密码登录会显著增加系统被暴力免费的风险,若必须启用,务必采取以下措施:

      1. 使用强密码

        长度≥12位,包含大小写字母、数字、特殊符号(如 J7#kQ9!zP2$d)。

      2. 限制访问源IP

        在防火墙(如ufw)中仅允许可信IP访问22端口: sudo ufw allow from 192.168.1.100 to any port 22

      3. 更改SSH默认端口

        编辑/etc/ssh/sshd_config,修改: Port 2222 # 改为非标准端口

        重启SSH服务并开放新端口。

        Linux如何启用root密码直接登录 第3张

      4. 安装fail2ban

        自动封禁多次登录失败的IP: sudo apt install fail2ban # Debian/Ubuntu sudo yum install fail2ban # CentOS/RHEL


      替代方案(推荐)

      更安全的做法是禁用root密码登录,改用以下方式:

      1. 通过普通用户切换
        • 用普通用户登录后切换至root: su - root # 输入root密码 或 sudo -i # 输入当前用户密码(需已配置sudo权限)
      2. 仅允许SSH密钥登录

        编辑/etc/ssh/sshd_config: PermitRootLogin prohibit-password # 禁止密码登录,仅允许密钥 PasswordAuthentication no # 全局禁用密码验证


      恢复默认安全配置

      操作完成后,建议恢复设置:

      1. 修改/etc/ssh/sshd_config: PermitRootLogin no PasswordAuthentication no
      2. 重启SSH服务: sudo systemctl restart sshd # 或 ssh


      • 启用root密码登录:仅建议在隔离测试环境中临时使用。
      • 生产环境:必须结合IP限制、强密码和fail2ban等防护措施。
      • 最佳实践:日常使用普通账户+sudo管理权限,SSH登录强制使用密钥认证。

      引用说明:本文配置方法基于OpenSSH官方文档及主流Linux发行版(Ubuntu 22.04/CentOS 7+)安全指南,具体操作请以实际环境为准,并参考OpenSSH手册

0