Dropbear

De Wiki doc


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éseau
  • 255.255.255.0 : masque de sous-réseau
  • debian : nom d'hôte
  • eth0 : 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

Source de la section