К сожалению, ни один из вышеперечисленных ответов мне не помог. Более того, копирование закрытого ключа с сервера кажется парадоксальным.
Как бы то ни было, следующие инструкции сработали:
apt-get install dropbear initramfs-tools busybox
Просто скопируйте и вставьте ваш открытый ключ(и) в /etc/dropbear-... initramfs/authorized_keys
на СЕРВЕРЕ
Создайте следующий скрипт в /etc/initramfs-tools/hooks/crypt_unlock. sh
#!/bin/sh
PREREQ="dropbear"
prereqs() {
echo "$PREREQ"
}
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
. "${CONFDIR}/initramfs.conf"
. /usr/share/initramfs-tools/hook-functions
if [ "${DROPBEAR}" != "n" ] && [ -r "/etc/crypttab" ] ; then
cat > "${DESTDIR}/bin/unlock" << EOF
#!/bin/sh
if PATH=/lib/unlock:/bin:/sbin /scripts/local-top/cryptroot; then
kill \`ps | grep cryptroot | grep -v "grep" | awk '{print \$1}'\`
# following line kill the remote shell right after the passphrase has
# been entered.
kill -9 \`ps | grep "\-sh" | grep -v "grep" | awk '{print \$1}'\`
exit 0
fi
exit 1
EOF
chmod 755 "${DESTDIR}/bin/unlock"
mkdir -p "${DESTDIR}/lib/unlock"
cat > "${DESTDIR}/lib/unlock/plymouth" << EOF
#!/bin/sh
[ "\$1" == "--ping" ] && exit 1
/bin/plymouth "\$@"
EOF
chmod 755 "${DESTDIR}/lib/unlock/plymouth"
echo To unlock root-partition run "unlock" >> ${DESTDIR}/etc/motd
fi
chmod +x /etc/initramfs-tools/hooks/crypt_unlock.sh
Отредактируйте /etc/initramfs-tools/initramfs. conf
, чтобы добавить (или изменить) строку:
#format [host ip]::[gateway ip]:[netmask]:[hostname]:[device]:[autoconf]
#([hostname] can be omitted)
IP=192.168.1.254::192.168.1.1:255.255.255.0::eth0:off
update-initramfs -u
sudo update-rc.d dropbear disable
ssh root@192.168.1.254 [-i ~/.ssh/id_rsa]