how-to-unlock-luks-using-dropbear-ssh-keys-remotely-in-linux
准备工作
假设先安装好带luks的debian了。
sudo apt update && sudo apt install dropbear-initramfs
目录: /etc/dropbear/initramfs/
配置文件: /etc/dropbear/initramfs/dropbear.conf
公钥: /etc/dropbear/initramfs/authorized_keys
/etc/dropbear/initramfs/dropbear.conf
DROPBEAR_OPTIONS="-I 180 -j -k -p 2222 -s -c cryptroot-unlock"
- -I 180:如果在180秒内没有传输或接收任何流量,则断开会话。
- -j:禁用 SSH 本地端口转发。
- -k:同时禁用远程端口转发。
- -p 2222:在指定的地址和 TCP 端口上监听 Dropbear SSH 服务器。在此示例中,使用 TCP/2222。如果未提供 -p 选项,则会监听所有地址。最多可以指定10个端口。如果未指定,默认使用 TCP/22。
- -s:禁用密码登录。我们将设置 Linux/Unix 系统上的 SSH 密钥进行身份验证,以减少攻击面。
- -c cryptroot-unlock:忽略用户提供的命令,并始终运行 forced_command。这也会覆盖任何 authorized_keys 中的 command= 选项。换句话说,一旦你输入 SSH 命令,就会解锁磁盘而不执行其他操作。如果你希望手动输入 cryptroot-unlock,可以跳过此选项。
如果你想设置为静态ip,需要添加以下内容
IP=192.168.2.19::192.168.2.254:255.255.255.0:debian
- IP= – Start static IP config
- :: – Field seprator
- 192.168.2.19 – IPv4
- 192.168.2.254 – Gateway
- 255.255.255.0 – Netmask
- debian – Hostname
如果在本地家用或者其他,可以用dhcp,看情况而定
sudo update-initramfs -u -v
密钥登录
cat 公钥>/etc/dropbear/initramfs/authorized_keys && sudo update-initramfs -u