如何安装Dropbear 的微型 SSH 服务--全盘加密(LUKS)时的‘救命稻草’

在 VPS 上使用全盘加密(LUKS)时,安装 Dropbear 是唯一的“救命稻草”。它会在系统内核启动、但尚未挂载加密根分区时,先运行一个微型 SSH 服务,让你远程输入解锁密码。

以下是在 Debian 13 上配置 Dropbear 远程解锁的完整手册:


1. 安装 Dropbear 核心组件

在已经安装好加密 Debian 系统的环境下,执行:

apt update
apt install dropbear-initramfs -y


2. 配置 SSH 密钥 (关键)

由于这个环境非常早,Dropbear 默认禁用了密码登录(为了安全且简化配置)。你需要将你本地电脑的 SSH 公钥放入其配置文件中。

  1. 复制你的公钥:通常位于你本地电脑的 ~/.ssh/id_rsa.pub
  2. 写入 Dropbear 配置
# 编辑 Dropbear 的授权密钥文件
nano /etc/dropbear/initramfs/authorized_keys

将你的公钥内容(以 ssh-rsassh-ed25519 开头的一长串)粘贴进去并保存。


3. 设置网络与端口配置

因为 Dropbear 运行在系统完全启动之前,它可能需要手动指定 IP 地址(如果你的 VPS 不支持 DHCP)。

编辑配置文件:

nano /etc/dropbear/initramfs/dropbear.conf

  • 修改端口(建议改为 2222,避免与系统正式的端口冲突):
    DROPBEAR_OPTIONS="-p 2222"
  • 配置静态 IP(如果 VPS 重启后没网):
    编辑 /etc/initramfs-tools/initramfs.conf,找到 IP= 这一行,按以下格式填写:
    IP=DEVICE_IP::GATEWAY_IP:NETMASK:HOSTNAME:INTERFACE:off
    *例如:IP=1.2.3.4::1.2.3.1:255.255.255.0:pve:eth0:off*

4. 更新 Initramfs

所有的更改都必须重新打包进引导镜像才能生效:

update-initramfs -u


5. 远程解锁流程

当你重启 VPS 后,系统会停在要求输入加密密码的界面。此时,你在本地电脑操作:

  1. 连接 Dropbear
ssh root@你的VPS-IP -p 2222

  1. 输入解锁命令
    登录成功后,你会看到一个简单的 Shell。输入以下命令:
cryptroot-unlock

  1. 输入密码:此时输入你安装系统时设置的 LUKS 密码。
  2. 自动断开:密码正确后,Dropbear 会自动关闭并断开连接,VPS 将继续完成正常的系统启动流程。

:light_bulb: 避坑指南

  • Host Key 冲突:当你连接端口 2222 时,SSH 可能会提示“Host identification has changed”,因为 Dropbear 的密钥和系统正式 SSH 的密钥不同。建议在本地连接时使用:
    ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@IP -p 2222
  • 网卡名称:Debian 13 默认网卡名通常是 enp0s3eth0,请通过 ip link 确认后再填入配置。