如何在 Debian 服务器上进入救援模式(RescueInitramfs)?

如何在 Debian 服务器上进入救援模式(RescueInitramfs)?

我正在尝试启动 RescueInitRamfs (https://wiki.debian.org/RescueInitramfs)在我的 Debian 服务器上配置 DropBear 后https://benediktkr.github.io/ops/2015/05/01/remote-fde.html(大多)。

我尝试/etc/default/grub通过设置 GRUB_CMDLINE_LINUX_DEFAULT="quiet rescue/enable=true"和更新文件中的内核启动参数GRUB_CMDLINE_LINUX="rescue/enable=true"(按照https://www.debian.org/releases/stable/amd64/ch08s06.en.html),然后运行sudo update-grub​​.我已经通过检查验证了内核正在使用此参数启动/proc/cmdline。看来这个内核参数没有任何作用,系统直接启动进入“正常”(不是救援)模式。

然后,我尝试通过设置内核参数来启动进入救援模式systemd.unit=rescue.target,现在我无法通过 SSH 连接,但服务器似乎在线,因为我可以 ping 它。

  1. 为什么rescue/enable=true什么都不做?
  2. rescue/enable=true和 和有什么区别systemd.unit=rescue.target
  3. 我应该做什么才能让它与 DropBear 一起工作?

更新 - 澄清一下,我只有 SSH 访问权限。没有控制台。

答案1

rescue/enable=true仅在从 Debian 安装介质启动时有效,因为只有安装程序才能理解该参数。

rescue/enable=true告诉安装程序不要进行常规安装,而是开始自动过程来查找 Debian 的现有安装,并在可能的情况下安装它以准备进行 chroot,如果没有,则仅提供 root shell 环境。

systemd.unit=rescue.target告诉systemd 启动rescue.target而不是正常的graphical.targetmulti-user.target。将rescue.target正常挂载所有本地文件系统并设置网络接口,但不会启动大多数服务(即将sysinit.target被执行)。在这种模式下,系统已经从 initramfs 过渡,所以看起来这不是您正在寻找的。

要在系统位于 initramfs 中时访问系统,您需要指定break=启动选项之一。如果您指定 just break,它将与 相同break=premount,即引导进程在尝试挂载真实根文件系统之前停止。可能的break=引导选项有topmodulespremountmountmountrootbottominit

您可能想/usr/share/doc/dropbear-initramfs/README.initramfs在您的系统上阅读有关在 initramfs 中使用的更多最新说明dropbear,而不是依赖于 2015 年编写的文档和最后一次修改于 2012 年的建议删除 Debian Wiki 页面...

相关内容