lee.2m 2025-07-06 18:15 采纳率: 97.5%
浏览 59
已采纳

问题:Ubuntu修改ROOT密码后SSH登录失败如何解决?

问题:在Ubuntu系统中,修改ROOT用户密码后,无法通过SSH使用ROOT账户登录,提示“Permission denied”或“Login failed”,该如何解决?
  • 写回答

1条回答 默认 最新

  • 冯宣 2025-07-06 18:15
    关注

    一、问题背景与现象描述

    在Ubuntu系统中,修改了ROOT用户的密码后,尝试通过SSH使用ROOT账户登录时,提示“Permission denied”或“Login failed”。该问题是运维和系统管理过程中较为常见的问题之一,尤其对于刚接触Linux系统的用户而言容易产生困惑。

    其本质是由于Ubuntu默认出于安全考虑禁用了ROOT用户的SSH直接登录权限。即使修改了ROOT密码,也无法直接使用ROOT进行远程连接。

    二、常见原因分析

    • 1. SSH配置限制: Ubuntu默认不允许ROOT用户通过SSH登录,相关配置文件为 /etc/ssh/sshd_config,其中参数 PermitRootLogin 控制是否允许ROOT登录。
    • 2. 密码未正确设置: 修改ROOT密码后,可能因输入错误或未成功执行 passwd root 命令导致密码未生效。
    • 3. SELinux或AppArmor限制: 安全模块可能阻止了ROOT的SSH访问。
    • 4. PAM认证机制限制: 如果PAM模块有特殊配置,也可能影响ROOT用户登录。

    三、排查流程图(Mermaid格式)

    
    graph TD
        A[开始] --> B{是否修改过root密码?}
        B -- 是 --> C{是否编辑/etc/ssh/sshd_config?}
        C -- 否 --> D[编辑sshd_config, 设置PermitRootLogin=yes]
        C -- 是 --> E{PermitRootLogin值是否为yes?}
        E -- 否 --> F[修改为yes并重启sshd服务]
        E -- 是 --> G[检查SSH服务状态]
        D --> H[重启sshd服务]
        F --> H
        H --> I{能否使用root登录?}
        I -- 是 --> J[解决成功]
        I -- 否 --> K[进一步检查PAM或安全策略]
        K --> L[结束]
        B -- 否 --> M[先设置root密码]
        M --> C
        

    四、解决方案详解

    1. 1. 确认是否已设置ROOT密码: 使用具有sudo权限的普通用户执行命令:
      sudo passwd root
      输入两次新密码即可设置。
    2. 2. 修改SSH配置文件: 编辑 /etc/ssh/sshd_config 文件:
      sudo nano /etc/ssh/sshd_config
      找到以下行并修改为:
      PermitRootLogin yes
    3. 3. 重启SSH服务: 使配置生效:
      sudo systemctl restart sshd
    4. 4. 检查SELinux/AppArmor: 若启用,需确认是否有策略阻止ROOT登录:
      dmesg | grep -i denied
      或查看日志文件 /var/log/auth.log
    5. 5. 验证登录: 尝试从另一台机器使用ROOT登录:
      ssh root@your-ubuntu-ip

    五、扩展思考:为何Ubuntu默认禁用ROOT登录?

    原因说明
    安全性增强减少误操作带来的系统崩溃风险,避免ROOT权限滥用。
    审计追踪困难多个用户共享ROOT账号时,难以定位具体操作人。
    最小权限原则鼓励使用sudo方式以最小权限完成任务,提升整体系统安全性。

    六、进阶建议与最佳实践

    • 不推荐长期开启 PermitRootLogin yes,建议使用普通用户 + sudo 提权的方式进行日常维护。
    • 若必须启用ROOT登录,应配合密钥认证,并关闭密码登录。
    • 定期检查 /var/log/auth.log 日志,监控异常登录行为。
    • 可设置IP白名单限制仅特定主机访问SSH服务。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 7月6日