在 VPS 上使用全盘加密(LUKS)时,安装 Dropbear 是唯一的“救命稻草”。它会在系统内核启动、但尚未挂载加密根分区时,先运行一个微型 SSH 服务,让你远程输入解锁密码。
以下是在 Debian 13 上配置 Dropbear 远程解锁的完整手册:
1. 安装 Dropbear 核心组件
在已经安装好加密 Debian 系统的环境下,执行:
apt update
apt install dropbear-initramfs -y
2. 配置 SSH 密钥 (关键)
由于这个环境非常早,Dropbear 默认禁用了密码登录(为了安全且简化配置)。你需要将你本地电脑的 SSH 公钥放入其配置文件中。
- 复制你的公钥:通常位于你本地电脑的
~/.ssh/id_rsa.pub。 - 写入 Dropbear 配置:
# 编辑 Dropbear 的授权密钥文件
nano /etc/dropbear/initramfs/authorized_keys
将你的公钥内容(以 ssh-rsa 或 ssh-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 后,系统会停在要求输入加密密码的界面。此时,你在本地电脑操作:
- 连接 Dropbear:
ssh root@你的VPS-IP -p 2222
- 输入解锁命令:
登录成功后,你会看到一个简单的 Shell。输入以下命令:
cryptroot-unlock
- 输入密码:此时输入你安装系统时设置的 LUKS 密码。
- 自动断开:密码正确后,Dropbear 会自动关闭并断开连接,VPS 将继续完成正常的系统启动流程。
避坑指南
- Host Key 冲突:当你连接端口 2222 时,SSH 可能会提示“Host identification has changed”,因为 Dropbear 的密钥和系统正式 SSH 的密钥不同。建议在本地连接时使用:
ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" root@IP -p 2222 - 网卡名称:Debian 13 默认网卡名通常是
enp0s3或eth0,请通过ip link确认后再填入配置。