Als ich meinen Server neu installierte, habe ich auch die Festplatten vollständig verschlüsselt. Das hat zur Folge das ich jedes Mal vor Ort sein musste wenn ich den Server neu starten wollte oder musste. Die Passphrase muss ja eingegeben werden um wieder auf die gespeicherten Dateien zugreifen zu können. Um hier mehr Komfort zu erreichen kam mir der Artikel in der Zeitschrift c’t Aufsperren aus der Ferne gerade recht. Dort geht es darum den SSH-Server Dropbear so einzurichten das er vor dem eigentlichen Betriebssystem zur Verfügung steht und somit die Eingabe der Passphrase erlaubt.
Unter Debian ist dieses Vorhaben einfach umzusetzen. Es gibt bereits ein fertiges Paket das man nur Installieren muss, ein paar Konfigurationswerte anpassen und schon kann es losgehen. Aber der Reihe nach…
Installation und Konfiguration
Zuerst die Installation mit…
sudo apt-get -y install dropbear-initramfs
Danach Dropbear konfigurieren um den Port festzulegen und den Befehl zum Entschlüsseln direkt nach dem Verbindungsaufbau auszuführen. Dazu in der Datei /etc/dropbear-initramfs/config
die folgende Zeile einfügen:
DROPBEAR_OPTIONS="-c cryptroot-unlock -p 2222"
Anschließend ist es notwendig für Dropbear eine IP-Adresse festzulegen um den Server auch zu diesem frühen Zeitpunkt im Bootprozess ansprechen zu können. Dies geschieht in einer anderen Datei /etc/initramfs-tools/initramfs.conf
:
IP=192.168.1.20::192.168.1.1:255.255.255.0:server.example:eno1
Dabei nicht vergessen die IP, das Gateway und die Netzmaske an die eigenen Gegebenheiten anzupassen.
Zugangsschlüssel
Die eigentliche Konfiguration ist damit abgeschlossen. Was allerdings noch fehlt sind die öffentlichen Schlüssel der Personen die sich anmelden sollen. Diese müssen jeweils als eine Zeile in die Datei /etc/dropbear-initramfs/authorized_keys
eingefügt werden. Die Schlüssel können unter Windows mit dem Tool PuTTYgen erzeugt werden. Das Tool erhält man zusammen mit dem SSH-Client PuTTY.
Abschluss und Verproben
Damit alles wirksam wird muss man noch das Initial RAM Filesystem aktualisieren:
sudo update-initramfs -u
Anschließend kann man den Server neustarten und versuchen eine eine SSH-Verbindung herzustellen. Dabei nicht vergessen den Port 2222 anzugeben. Der Benutzer ist immer root und zur Authentifizierung kommt einer der privaten Schlüsseln zum Einsatz deren Konterparts vorher in die Datei authorized_keys
eingetragen wurden.