文章内容

2024/6/13 20:54:34,作 者: 黄兵

Hetzner 救援模式重置 root 密码

最近有一台 Hetzner 的服务器 IP 配置错误,导致无法登录服务器,原来登录服务器是通过证书登录,现在在控制台无法通过 Console 登录。

只能通过救援模式登录服务器修改。

但是登录救援模式之后按照官方文档修改,代码如下:

mount /dev/md2 /mnt

根本无法挂载,之后求助于 ChatGPT,最终把问题解决:

在 Hetzner VPS 上,如果由于配置错误导致无法登录服务器,可以通过救援模式来修复问题。以下是进入救援模式后的一些常见步骤:

  1. 进入救援模式

    • 登录到 Hetzner 的控制面板。
    • 选择你的服务器,找到“救援模式(Rescue)”选项,并启用它。
    • 选择一个救援系统(通常是 Linux 操作系统)。
    • 启动救援模式后,系统会提供一个临时的 root 密码。
  2. 通过救援模式连接到服务器

    • 使用 SSH 客户端连接到你的服务器,通常是通过临时提供的 IP 地址和 root 密码。
    • 例如,在命令行中输入:ssh root@your-server-ip,然后输入提供的临时密码。
  3. 挂载文件系统

    • 挂载你的服务器的根文件系统。通常,救援模式会自动识别并提示你挂载文件系统。如果没有自动挂载,可以手动进行:
fdisk -l  # 列出所有磁盘和分区
mount /dev/sda1 /mnt  # 挂载根分区到 /mnt 目录(根据实际分区名称)

    更改根目录环境

  • 使用 chroot 命令切换到挂载的根文件系统环境:
chroot /mnt

修复 SSH 配置或用户密钥

  • 检查并修复 /etc/ssh/sshd_config 文件中的配置错误。
  • 确保用户的 .ssh 目录和 authorized_keys 文件存在,并且权限正确。
ls -l /home/username/.ssh/authorized_keys
chmod 600 /home/username/.ssh/authorized_keys
chmod 700 /home/username/.ssh
chown username:username /home/username/.ssh -R

重置 root 密码(如果需要)

  • 使用 passwd 命令重置 root 用户密码:
passwd root

更新 GRUB 配置(如果需要)

  • 如果你修改了 GRUB 配置文件或需要更新引导配置,可以执行:
update-grub

退出并重启服务器

  • 退出 chroot 环境:
exit

卸载文件系统:

umount /mnt

重启服务器:

reboot

完成以上步骤后,关闭救援模式,通过正常的方式尝试重新连接到服务器。

这样就可以正常通过刚才修改的密码,通过控制台的 Console 登录服务器了。

最后总结:

Hetzner 的文档真的是写的超级烂,按照文档操作,大部分情况无法解决问题。


参考资料:

1、Using Rescue

2、Hetzner Rescue System


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Hetzner 救援模式重置 root 密码

分享到:

发表评论

评论列表