Dropbear, utilisation et astuces
Généralités
La partition liée à Grenode sur les machines physiques est chiffrée. Pour les (re)booter, une phrase secrète est demandée pour devérouiller la clé de chiffrement. Il est aussi possible de taper cette phrase à distance en utilisant une connection ssh. En effet, lors du démarage de la machine un serveur ssh tourne (il s'appelle dropbear). Pour l'instant, on ne s'y connecte que par clé RSA (configuration par défaut).
Connexion et utilisation
Pour pouvoir se connecter au dropbear, il faut poser sa clef dans
/etc/initramfs-tools/root/.ssh/authorized_keys
, avec ce petit bout de conf
dans le ~/.ssh/config
, tout roule :
Host <machine>.grenode.net-boot
User root
IdentityFile ~/.ssh/<clef>
HostName <machine>.grenode.net
PubkeyAcceptedKeyTypes +ssh-rsa
AddressFamily inet
Pour déverouiller la partition chiffrée :
ssh root@palanquee.grenode.net-boot
# cryptroot-unlock
Ou bien la méthode manuelle :
echo -n "La phrase ?" > /lib/cryptsetup/passfifo
Il est aussi possible d'utiliser /lib/cryptsetup/askpass
pour ne pas afficher
la passphrase :
/lib/cryptsetup/askpass > /lib/cryptsetup/passfifo
Pour vérifier si cela a marché, il est possible de regarder la liste des processus actifs... et puis de toute façon vous allez vous faire jeter si cela a marché.
Si trop d'essais effectués...
crypsetup est configuré pour autoriser que 5 essais. Après par défaut le processus se termine. Dans ce cas là, quand on essaie de taper la passphrase, cela ne fonctionne plus.
Dans ce cas là, il est possible de démarrer manuellement le script de déchiffrement :
ssh root@palanquee.grenode.net
export PATH=/sbin:$PATH
/scripts/local-top/cryptroot
# il faut taper la passphrase
# Une fois le volume chiffré ouvert, il faut identifier le numéro de processus
# correspondant à "sh -i" (le terminal interactif)
kill -9 <numero du process>
A partir de là le processus de boot devrait continuer normalement.
Utiliser dropbear comme recovery-mode
Dropbear est aussi très utile pour récupérer une bêtise sur le disque dur, en équivalent à un recovery-mode. Pour ça, il faut se connecter à la machine en ssh, puis :
cryptsetup luksOpen <device> <name>
vgchange -a y
mkdir /mnt
mount -t ext4 /dev/mapper/<le lv à monter> /mnt
# Effectuer les modifications
umount /mnt
vgchange -a n
cryptsetup luksClose <name>
On peut alors rebooter.