
在 Rocky Linux 8 中,重置 sshd_config 并恢复密码登录,最直接的方法是利用 dnf 包管理器重新提取默认配置,并检查可能存在的“隐藏”冲突配置。
以下是操作步骤:
1. 强制重置为官方默认配置文件
你不需要手动修改。通过以下命令可以备份旧文件并强制重新安装 openssh-server 包来生成干净的默认配置文件:
# 1. 备份当前被修改过的配置
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
# 2. 重新安装 openssh-server 以获取默认配置文件
# 重新安装会自动检测到文件缺失并重新创建一个默认的 sshd_config
dnf reinstall openssh-server -y
# 3. 确认文件已生成
ls -l /etc/ssh/sshd_config2. 检查并清理“隐藏”冲突配置 (关键)
DMIT 等云厂商通常会在 /etc/ssh/sshd_config.d/ 目录下放置额外的 .conf 文件。SSH 会优先读取这些子文件,即使你改好了主配置文件,这些子文件里的 PasswordAuthentication no 依然会生效,导致你登录失败。
# 检查该目录下是否有任何限制密码登录的文件
ls /etc/ssh/sshd_config.d/
# 如果有文件(例如 50-redhat.conf 或 cloud-init 相关文件),请检查其内容
# 如果里面写了 PasswordAuthentication no,建议将其删除或改名
rm -f /etc/ssh/sshd_config.d/*.conf3. 开启密码认证与 Root 登录
打开新生成的 /etc/ssh/sshd_config,确保以下几项设置正确:
PermitRootLogin yes:允许 root 用户通过 SSH 登录。
PasswordAuthentication yes:允许使用密码认证。
UsePAM yes:确保 PAM 认证开启,否则系统可能无法验证你的 Linux 密码。
4. 重置用户密码 (解决“密码错误”提示)
如果你确定配置正确但仍提示密码错误,可能是 DMIT 的镜像禁用了 root 密码或密码已失效。请手动重置一次:
passwd root
# 按提示输入并确认你的新密码5. 重启服务生效
systemctl restart sshd
评论 (0)