我正在尝试启动 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 它。
- 为什么
rescue/enable=true
什么都不做? rescue/enable=true
和 和有什么区别systemd.unit=rescue.target
?- 我应该做什么才能让它与 DropBear 一起工作?
更新 - 澄清一下,我只有 SSH 访问权限。没有控制台。
答案1
rescue/enable=true
仅在从 Debian 安装介质启动时有效,因为只有安装程序才能理解该参数。
rescue/enable=true
告诉安装程序不要进行常规安装,而是开始自动过程来查找 Debian 的现有安装,并在可能的情况下安装它以准备进行 chroot,如果没有,则仅提供 root shell 环境。
systemd.unit=rescue.target
告诉systemd
启动rescue.target
而不是正常的graphical.target
或multi-user.target
。将rescue.target
正常挂载所有本地文件系统并设置网络接口,但不会启动大多数服务(即将sysinit.target
被执行)。在这种模式下,系统已经从 initramfs 过渡,所以看起来这不是您正在寻找的。
要在系统位于 initramfs 中时访问系统,您需要指定break=
启动选项之一。如果您指定 just break
,它将与 相同break=premount
,即引导进程在尝试挂载真实根文件系统之前停止。可能的break=
引导选项有top
、modules
、premount
、mount
、mountroot
和bottom
。init
您可能想/usr/share/doc/dropbear-initramfs/README.initramfs
在您的系统上阅读有关在 initramfs 中使用的更多最新说明dropbear
,而不是依赖于 2015 年编写的文档和最后一次修改于 2012 年的建议删除 Debian Wiki 页面...