J'essaie de configurer un serveur dédié avec un lecteur chiffré. J'ai trouvé de l'aide en ligne pour le mettre en marche, mais j'ai quelques problèmes à obtenir que dropbear-initramfs
démarre correctement. (tutoriel dans ce sens https://hamy.io/post/0005/remote-unlocking-of-luks-encrypted-root-in-ubuntu-debian/ )
Donc, j’installe le paquet dropbear-initramfs et j’obtiens une erreur qui dit que les clés manquent et que cela ne fonctionnera pas. J'ajoute les allowed_keys que je configure pour exécuter dropbear sur un autre port et je mets à jour initramfs mais au démarrage, dropbear ne démarre pas et on me demande simplement le nom d'utilisateur/mot de passe normal. J'ai essayé plusieurs choses pour le rendre opérationnel, j'ai essayé de dpkg reconfigurer le paquet une fois les clés configurées correctement et je ne reçois plus de message d'erreur, mais dropbear ne démarre toujours pas.
Si quelqu'un a un pointeur qui serait très apprécié :)
Meilleures salutations
P.S: J'ai jeté un œil aux questions déjà ouvertes, mais la majorité d’entre elles sont maintenant assez anciennes et le dropbear + initramfs est supposé être plus facile depuis Ubuntu 16.04 (avec le paquet dropbear-initramfs).
Vous presque avez fait ce qu'il fallait faire ...
En raison d'un problème de sécurité, les authorised_keys, contenant la clé publique de votre client, ont été supprimés ...
Dropbear et openssh sont tous deux des serveurs SSH, mais ils ne partagent pas le même format de clés, bien qu'ils partagent le même principe de clés privées-publiques:
authorized_keys
du côté serveur,known_hosts
du côté client.C'est pourquoi, pour vous connecter à un serveur Dropbear, vous pouvez utiliser ssh
et dbclient
, mais /usr/lib/dropbear/dropbearconvert
doit être utilisé pour convertir les clés publiques afin de garantir ssh
est compatible avec dropbear ou pour rendre dbclient
compatible avec sshd
.
dropbear est beaucoup plus petit que sshd
et même s’il est plus élémentaire, il est bon d’avoir un serveur à clé publique SSH disponible au tout début du processus de démarrage Linux, en particulier lorsque vous utilisez un chargeur de démarrage tel que PXE et/ou iPXE.
Pour ce faire, dropbear doit être intégré au système de fichiers init (image initrd
).
Le paquet Ubuntu dropbear-initramfs
doit être installé (j'utilise la version 2017.75-3build1 sur Ubuntu 18.04).
Tous les paramètres de dreopbear se trouvent dans le dossier /etc/dropbear-initramfs/
, y compris le fichier de configuration (config
), les clés privées du serveur, rsa, dss, ecdsa (dropbear_*_Host_key
) et les données publiques du client. les clés acceptées (authorized_keys
) doivent être placées ici dans le bon format Dropbear.
Ensuite, pour mettre à jour votre fichier image initrd
actuel dans le répertoire /boot/
, vous devez lancer:
Sudo update-initramfs -u
Ce paquet est livré avec des scripts pour construire des images initrd
dans /usr/share/initramfs-tools/hooks/dropbear
, et des scripts à exécuter dans les premières étapes du processus de démarrage dans /usr/share/initramfs-tools/scripts/init-premount/dropbear
, et ensuite seulement ces derniers scripts sont intégrés à la initrd
images.
Certaines distributions suppriment authorized_keys
dans certaines conditions pour empêcher les connexions ssh
à un stade précoce. Pour contourner ce problème, vous devez le vérifier et résoudre les problèmes suivants:
$ cd /usr/share/initramfs-tools/scripts/
$ grep -R authorized_keys *
init-bottom/dropbear:# delete authorized_keys(5) file to forbid new SSH sessions
init-bottom/dropbear:#rm -f ~root/.ssh/authorized_keys
init-bottom/dropbear: # just kill this script), so deleting root's authorized_keys(5) file
... où nous limitons la suppression de authorized_keys
pour pouvoir se connecter à une machine lorsque quelque chose ne va pas dans l'étape initramfs
.