首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Linux Root 登入失敗排查指南:從 SSH 設定到單用戶模式重置密碼

     編輯:程式設計綜合問答

現象:普通用戶可 SSH 登入,Root 提示密碼錯誤(確認密碼正確)。

快速診斷步驟

  1. 嘗試切換用戶:普通用戶登入後執行 su - root。
    • ✅ 成功 → Root 密碼正確,問題在 SSH 設定禁止 Root 遠端登入。
    • ❌ 失敗 → Root 密碼確實錯誤或帳號被鎖定,需重置密碼。

情況一:SSH 禁止 Root 登入(最常見)

檢查 /etc/ssh/sshd_config:

# 預設通常為 prohibit-password 或 no
PermitRootLogin no
# 或
PermitRootLogin prohibit-password  # 僅允許金鑰登入

修改為 PermitRootLogin yes(僅測試環境建議),或配置金鑰登入後重啟 SSH:

systemctl restart sshd

情況二:Root 帳號被鎖定

# 查看帳號狀態
passwd -S root
# 若輸出含 L (Locked) 或 !! 表示鎖定
# 解鎖
passwd -u root
# 或重新設定密碼
passwd root

情況三:忘記密碼/密碼確實錯誤 → 單用戶模式重置

  1. 重啟伺服器,GRUB 選單按 e 編輯啟動項。
  2. 找到 linux16 /vmlinuz-... ro ... 行,行尾加 rd.break(RHEL/CentOS 7/8)或 init=/bin/bash(通用)。
  3. Ctrl+x 啟動進入急救模式。
  4. 掛載系統盤:mount -o remount,rw /sysroot(RHEL)或 mount -o remount,rw /。
  5. chroot /sysroot(RHEL)或直接操作。
  6. passwd root 設定新密碼。
  7. touch /.autorelabel(SELinux 環境必須,否則重啟後無法登入)。
  8. exit 兩次重啟。

安全建議

  • 生產環境禁用 Root 密碼登入,強制金鑰認證(PermitRootLogin prohibit-password)。
  • 使用 sudo 提權,審計所有 Root 操作。
  • 配置 fail2ban 防暴力破解。

依序排查:su - root → SSH 設定 → 帳號鎖定 → 單用戶模式,通常 5 分鐘內定位問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved