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

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

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

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

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


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

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

    sudo passwd root

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

  2. 修改SSH配置文件
    编辑SSH守护进程配置文件:

    sudo nano /etc/ssh/sshd_config

    找到以下参数并修改为:

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

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

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

  3. 重启SSH服务

    • Debian/Ubuntu
      sudo systemctl restart ssh
    • CentOS/RHEL
      sudo systemctl restart sshd
  4. 测试登录
    从另一台机器验证:

    ssh root@服务器IP

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


安全风险与加固建议

️ 重要警告
直接允许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服务并开放新端口。

  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