Dropbear
Dropbear est un client et serveur SSH libre prévu pour des environnements légers (le plus souvent embarqués). Il comporte l'avantage de pouvoir être intégré à l'initramfs d'un système Linux. Ce caractéristique est notamment utile pour le déchiffrement des disques Luks via SSH.
Dropbear-initramfs
Comme précisé en introduction, le serveur SSH peut être intégré à l'initramfs d'un système afin d'effectuer des actions distantes. Le cas le plus répandu étant le déchiffrement du disque racine.
Installation du paquet
apt install dropbear-initramfs
ATTENTION
Depuis la version 2022.83-1 embarquée dans Debian 12, le chemin des fichiers de configuration a changé. L'emplacement/etc/dropbear-initramfs/
devient /etc/dropbear/initramfs/
. Le fichier principal a également été renommé de config
à dropbear.conf
. La documentation a été mise à jour en conséquence.Configuration des options du service
echo 'DROPBEAR_OPTIONS="-I 180 -j -k -p 2222 -s"' >> /etc/dropbear/initramfs/dropbear.conf
Explications :
-I 180
: temps d'inactivité (en secondes) avant déconnexion automatique-j
: désactiver la redirection de port local-k
: désactiver la redirection de port distante-p 2222
: port d'écoute du service (22 par défaut)-s
: désactiver l'authentification par mot de passe (clé SSH uniquement)
Configuration de l'adresse IP de l'initramfs sur l'interface eth0
echo 'IP=192.168.1.20::192.168.1.1:255.255.255.0:debian:eth0' >> /etc/initramfs-tools/initramfs.conf
Explications :
IP=
: définition des paramètres réseaux de l'initramfs (séparés par des:
)192.168.1.20
: adresse IP::
: champ destiné au serveur NFS (aucun rapport avec notre sujet)192.168.1.1
: passerelle du réseau255.255.255.0
: masque de sous-réseaudebian
: nom d'hôteeth0
: interface à configurer
INFORMATION
La documentation suivante explique en détaille ce paramètre.Comme nous n'avons autorisé que la connexion pas clé, nous allons ajouter la notre (générée de cette manière)
Transfert de la clé SSH du client au serveur
scp ~/.ssh/id_ed25519.pub root@192.168.1.20:/etc/dropbear/initramfs/authorized_keys
Mise à jour de l'initramfs
update-initramfs -u
Redémarrage
reboot
Connexion au serveur
ssh root@192.168.1.20 -p 2222
Déchiffrement du disque
cryptroot-unlock