RuckZuck
Premium
- Registriert
- 8. November 2012
- Beiträge
- 1.944
- Lösungen
- 3
- Reaktionspunkte
- 2.250
- Punkte
- 393
- Ort
- World Wide Web
Moin DEB-Forum.
Ich hatte einen neuen Intel NUC in die FInger bekommen auf dem ich gern Ubuntu 22.04 LTS installieren wollte, dieses Mal aber von vornherein mit LUKS-Verschlüsselung während des Installationsprozesses.
Da ich an diversen Anleitungen zum Entschlüsseln via SSH verzweifelt bin, möchte ich euch hier kurz einmal vorstellen wie es funktioniert.
1. Vorbereitungen
1.1 Was brauchen wir?
- PC (in meinem Fall ein Intel NUC, geht aber auch jeder andere Mini-PC/PC, etc auf dem ihr Ubuntu 22.04 installieren wollt)
- z.B. Windows-PC mit Putty & PuttyGen, Rufus
1.2 USB-Stick vorbereiten
formattiert den USB-Stick und vergebt einen neuen Laufwerksbuchstaben. Dies geht recht easy bei USB-Sticks bis 32GB über die "Computerverwaltung" von Windows.
Alternativ nutzt Win32Format oder h2format um euren USB-Stick größer 32GB in FAT32 zu formattieren.
1.3 Ubuntu runterladen
-
1.4 Image auf USB-Stick schreiben
Hierfür nutzen wir das Programm "Rufus". Wählt den richtigen Laufwerksbuchstaben aus, wählt das runtergeladene Ubuntu 22.04.1 LTS Image aus und klickt auf "Start".
Wenn das Image erfolgreich geschrieben wurde, beendet das Programm, werft den USB-Stick aus.
1.5 100-stelliges Passwort generierern
Für die LUKS-Verschlüsselung welche wir bei Intallation mit einstellen, benötigen wir ein Passwort für die Laufwerksverschlüsselung. Ich habe dafür ein willkürlich generiertes 100-stelliges Passwort mit Buchstaben (klein/groß) und Sonderzeichen gewählt.
-
Merkt euch das Passwort SEHR GUT. Ihr werdet es bei JEDEM Neustart des PCs benötigen.
1.6 Schlüsselpaar erstellen
Öffnet nun PuTTYGen, wählt bei "Type of key to generate" nun "ECDSA" aus. Klickt nun auf "generate" und fahrt mit der Maus über das obere Feld bis der Schlüssel erstellt ist.
Als "Key comment" habe ich einfach "Ubuntu" eingetragen und unter "Key passphrase" & "confirm passphrase" ein einfach zu merkendes Passwort vergeben.
Klickt nun auf "Save public key" und speichert diesen ab. Das Selbe machen wir nun auch mit dem private Key.
2. Installation & Grundeinrichtung
2.1 Setup
Steckt nun euren mit Ubuntu 22.04.1 LTS Image versehenen USB-Stick in den neuen Server ein und startet diesen. Folgt einfach der Installationsübersicht, achtet aber darauf, dass SSH mit installiert wird und ihr eure Tastatur erkennen lasst (Taste y drücken, ö ist vorhanden, ö drücken, é nein). An dem Punkt der Festplattenaufteilung wählt ihr die LUKS-Verschlüsselung aus. Hier gebt ihr entsprechend das unter Punkt 1.5 generierte Passwort ein.
Ist das Setup nun durchgelaufen, wählt reboot. Nun werdet ihr aufgefordert das Installationsmedium zu entfernen (tut dies) und bestätigt mit [Enter].
2.2 Festplatte entschlüsseln nach Reboot
Nun müssen wir an der Tastatur nochmals unser 100-stelliges Passwort eingeben um weiter mit dem Server arbeiten zu können. Nervig... aber das ändern wir später noch.
2.3 erstes Einloggen und Passwort ändern
Wartet 1-2min, startet Putty, gebt die IP-Adresse eures Servers ein (könnt Ihr z.B. über das WebIF eures Routers rausfinden) und verbindet euch. Ich habe mir diese Sitzung einfach schon mal in PuTTY abgespeichert, da ich später ja auch mit dem Server arbeiten will.
Benutzername: den welchen ihr bei Installation vergeben habt
Passwort: das welches ihr bei Installation vergeben habt
2.4 Location & Timezone einstellen
Wir stellen erst einmal unsere Timezone ein um die korrekte Uhrzeit, etc. auf dem Server zu haben. Dies tun wir mit folgendem Befehl:
Hier wählen wir "Europe" und anschließend "Berlin" aus.
2.5 Passwort für ROOT vergeben & Login erlauben
erlaubt es uns nun ein Passwort für den User "root" zu vergeben.
anschließend müssen wir noch dem User "root" erlauben sich per SSH auf dem Server einzuloggen.
Öffnet die ssh-config mit dem Befehl
und sicht die Zeile welche mit "PermitRootLogin" beginnt. Löscht das Vorzeichen und ändert die Zeile ab in
Speichert die Änderungen mit Strg+O und verlasst den Editor mit Strg+X.
anschließend starten wir den Server neu mit dem Befehl
2.6 Festplatte entschlüsseln nach Reboot
Nun müssen wir an der Tastatur nochmals unser 100-stelliges Passwort eingeben um weiter mit dem Server arbeiten zu können. immernoch nervig... aber das ändern wir später noch.
2.7 Erste Schritte mit dem User "root" per SSH
Wartet wieder 1-2min bevor ihr euch per Putty neu verbindet. Loggt euch anschließend als Benutzer "root" ein mit dem von euch unter 2.5 vergebenem Passwort.
Nun können wir mit
den nichtmehr benötigten User aus der Ubuntu-Installation löschen. Dies ist jedoch optional und nicht unbedingt nötig.
Startet nun die Update-Funktion mit
Dies dauert seine Zeit.
Anschließend starten wir den Server mittel dem Befehl
nochmals neu.
2.8 Festplatte entschlüsseln nach Reboot
Nun müssen wir an der Tastatur nochmals unser 100-stelliges Passwort eingeben um weiter mit dem Server arbeiten zu können. immernoch nervig... aber das ändern wir später noch.
3. Vorbereiten LUKS-Verschlüsselung per SSH entschlüsseln
3.1 Dropbear-initramfs installieren
Loggt euch nun wieder per PuTTY als Root auf eurem Server ein und gebt folgenden Befehl ein:
3.2 Dropbear Config editieren
Öffnet nun die Dropbear Config mit Nano
und ergänzen passende Zeile zu
-I 60 sagt aus, dass eine "idle"-Verbindung nach 60 Sekunden geschlossen wird
-s dass Passwort-Logins ausgeschaltet werden (empfiehlt sich bei öffentlich zugänglichen Servern NICHT)
3.3 Dropbear PublicKey einfügen
Öffnet nun die Datei "authorized_keys" im Dropbear Verzeichnis mit nano
und fügt den mit PuTTYGen generierten Schlüssel ein
Beispiel:
Speichern [Strg+O] und schließen [Strg+X] nicht vergessen.
3.4 Dropbear Einstellungen übernehmen
Wir übernehmen nun die gemachten Einstellungen mit
anschließend starten wir den Server mittels
mal wieder neu.
3.5 Serverprofil erneut in PuTTY anlegen
Da wir per Dropbear einen anderen Schlüssel als für das "normale" SSH verwenden, legen wir ein weiteres Profil in Putty an welches wir zum entschlüsseln von LUKS nutzen wollen.
Bei mir heißt es "NUC-initramfs" statt dem normalen Profil "NUC".
Wichtig ist, dass wir links unter "Connection" und "SSH" im Bereich "Auth" unsere unter 1.6 gespeicherte PrivateKey Datei verlinken und anschließend das Profil SPEICHERN.
4. Entschlüsseln des mit LUKS-Verschlüsselten Servers per SSH (PuTTY)
4.1 Einloggen mit Putty
Wählt nun euer initramfs Profil in Putty aus und verbindet euch mit dem Server.
Als Benutzer gebt ihr root ein. Ihr werdet nun nach einem Passwort gefragt. Dies ist die "key passphrase" aus Punkt 1.6, unser "einfaches Passwort".
4.2 Entschlüsseln
Gebt nun den Befehl
ein und bestätigt mit [ENTER]-Taste
nun gebt ihr euer 100-stelliges Passwort ein (oder kopiert es euch aus der Zwischenablage, fügt es mit einem Rechtsklick ein) und bestätigt mit [ENTER].
Ihr könnt nun diese Putty-Sitzung beenden.
4.3 in Konsole anmelden
Ihr könnt euch nun wie gehabt mit eurem normalen Login per Putty auf dem Server anmelden.
Nach einem Neustart des Servers braucht ihr nurnoch die 4.x Punkte zu befolgen.
Ich hatte einen neuen Intel NUC in die FInger bekommen auf dem ich gern Ubuntu 22.04 LTS installieren wollte, dieses Mal aber von vornherein mit LUKS-Verschlüsselung während des Installationsprozesses.
Da ich an diversen Anleitungen zum Entschlüsseln via SSH verzweifelt bin, möchte ich euch hier kurz einmal vorstellen wie es funktioniert.
1. Vorbereitungen
1.1 Was brauchen wir?
- PC (in meinem Fall ein Intel NUC, geht aber auch jeder andere Mini-PC/PC, etc auf dem ihr Ubuntu 22.04 installieren wollt)
- z.B. Windows-PC mit Putty & PuttyGen, Rufus
1.2 USB-Stick vorbereiten
formattiert den USB-Stick und vergebt einen neuen Laufwerksbuchstaben. Dies geht recht easy bei USB-Sticks bis 32GB über die "Computerverwaltung" von Windows.
Alternativ nutzt Win32Format oder h2format um euren USB-Stick größer 32GB in FAT32 zu formattieren.
1.3 Ubuntu runterladen
-
Sie müssen registriert sein, um Links zu sehen.
1.4 Image auf USB-Stick schreiben
Hierfür nutzen wir das Programm "Rufus". Wählt den richtigen Laufwerksbuchstaben aus, wählt das runtergeladene Ubuntu 22.04.1 LTS Image aus und klickt auf "Start".
Sie müssen registriert sein, um Links zu sehen.
Wenn das Image erfolgreich geschrieben wurde, beendet das Programm, werft den USB-Stick aus.
1.5 100-stelliges Passwort generierern
Für die LUKS-Verschlüsselung welche wir bei Intallation mit einstellen, benötigen wir ein Passwort für die Laufwerksverschlüsselung. Ich habe dafür ein willkürlich generiertes 100-stelliges Passwort mit Buchstaben (klein/groß) und Sonderzeichen gewählt.
-
Sie müssen registriert sein, um Links zu sehen.
Merkt euch das Passwort SEHR GUT. Ihr werdet es bei JEDEM Neustart des PCs benötigen.
1.6 Schlüsselpaar erstellen
Öffnet nun PuTTYGen, wählt bei "Type of key to generate" nun "ECDSA" aus. Klickt nun auf "generate" und fahrt mit der Maus über das obere Feld bis der Schlüssel erstellt ist.
Als "Key comment" habe ich einfach "Ubuntu" eingetragen und unter "Key passphrase" & "confirm passphrase" ein einfach zu merkendes Passwort vergeben.
Klickt nun auf "Save public key" und speichert diesen ab. Das Selbe machen wir nun auch mit dem private Key.
2. Installation & Grundeinrichtung
2.1 Setup
Steckt nun euren mit Ubuntu 22.04.1 LTS Image versehenen USB-Stick in den neuen Server ein und startet diesen. Folgt einfach der Installationsübersicht, achtet aber darauf, dass SSH mit installiert wird und ihr eure Tastatur erkennen lasst (Taste y drücken, ö ist vorhanden, ö drücken, é nein). An dem Punkt der Festplattenaufteilung wählt ihr die LUKS-Verschlüsselung aus. Hier gebt ihr entsprechend das unter Punkt 1.5 generierte Passwort ein.
Ist das Setup nun durchgelaufen, wählt reboot. Nun werdet ihr aufgefordert das Installationsmedium zu entfernen (tut dies) und bestätigt mit [Enter].
2.2 Festplatte entschlüsseln nach Reboot
Nun müssen wir an der Tastatur nochmals unser 100-stelliges Passwort eingeben um weiter mit dem Server arbeiten zu können. Nervig... aber das ändern wir später noch.
2.3 erstes Einloggen und Passwort ändern
Wartet 1-2min, startet Putty, gebt die IP-Adresse eures Servers ein (könnt Ihr z.B. über das WebIF eures Routers rausfinden) und verbindet euch. Ich habe mir diese Sitzung einfach schon mal in PuTTY abgespeichert, da ich später ja auch mit dem Server arbeiten will.
Benutzername: den welchen ihr bei Installation vergeben habt
Passwort: das welches ihr bei Installation vergeben habt
2.4 Location & Timezone einstellen
Wir stellen erst einmal unsere Timezone ein um die korrekte Uhrzeit, etc. auf dem Server zu haben. Dies tun wir mit folgendem Befehl:
Code:
sudo dpkg-reconfigure tzdata
2.5 Passwort für ROOT vergeben & Login erlauben
Code:
sudo passwd root
anschließend müssen wir noch dem User "root" erlauben sich per SSH auf dem Server einzuloggen.
Öffnet die ssh-config mit dem Befehl
Code:
sudo nano /etc/ssh/sshd_config
Code:
PermitRootLogin yes
anschließend starten wir den Server neu mit dem Befehl
Code:
sudo reboot
2.6 Festplatte entschlüsseln nach Reboot
Nun müssen wir an der Tastatur nochmals unser 100-stelliges Passwort eingeben um weiter mit dem Server arbeiten zu können. immernoch nervig... aber das ändern wir später noch.
2.7 Erste Schritte mit dem User "root" per SSH
Wartet wieder 1-2min bevor ihr euch per Putty neu verbindet. Loggt euch anschließend als Benutzer "root" ein mit dem von euch unter 2.5 vergebenem Passwort.
Nun können wir mit
Code:
deluser EUERBENUTZERNAME AUS DER INSTALLATION
Startet nun die Update-Funktion mit
Code:
apt update -y && apt upgrade -y
Anschließend starten wir den Server mittel dem Befehl
Code:
reboot
2.8 Festplatte entschlüsseln nach Reboot
Nun müssen wir an der Tastatur nochmals unser 100-stelliges Passwort eingeben um weiter mit dem Server arbeiten zu können. immernoch nervig... aber das ändern wir später noch.
3. Vorbereiten LUKS-Verschlüsselung per SSH entschlüsseln
3.1 Dropbear-initramfs installieren
Loggt euch nun wieder per PuTTY als Root auf eurem Server ein und gebt folgenden Befehl ein:
Code:
apt install dropbear-initramfs
3.2 Dropbear Config editieren
Öffnet nun die Dropbear Config mit Nano
Code:
nano /etc/dropbear/initramfs/dropbear.conf
Code:
DROPBEAR_OPTIONS="-I 60 -s"
-s dass Passwort-Logins ausgeschaltet werden (empfiehlt sich bei öffentlich zugänglichen Servern NICHT)
3.3 Dropbear PublicKey einfügen
Öffnet nun die Datei "authorized_keys" im Dropbear Verzeichnis mit nano
Code:
nano /etc/dropbear/initramfs/authorized_keys
Beispiel:
Code:
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBB0R5hWvJYJKGfM3n5Bwyttte9qjuS/aPPatT02P6wgxR4UwNtcXC0dJ9aLMxjAoXGVkNaVhUqBQMqCZGhSM7+Q= Ubuntu
3.4 Dropbear Einstellungen übernehmen
Wir übernehmen nun die gemachten Einstellungen mit
Code:
update-initramfs -u
Code:
reboot
3.5 Serverprofil erneut in PuTTY anlegen
Da wir per Dropbear einen anderen Schlüssel als für das "normale" SSH verwenden, legen wir ein weiteres Profil in Putty an welches wir zum entschlüsseln von LUKS nutzen wollen.
Bei mir heißt es "NUC-initramfs" statt dem normalen Profil "NUC".
Wichtig ist, dass wir links unter "Connection" und "SSH" im Bereich "Auth" unsere unter 1.6 gespeicherte PrivateKey Datei verlinken und anschließend das Profil SPEICHERN.
4. Entschlüsseln des mit LUKS-Verschlüsselten Servers per SSH (PuTTY)
4.1 Einloggen mit Putty
Wählt nun euer initramfs Profil in Putty aus und verbindet euch mit dem Server.
Als Benutzer gebt ihr root ein. Ihr werdet nun nach einem Passwort gefragt. Dies ist die "key passphrase" aus Punkt 1.6, unser "einfaches Passwort".
4.2 Entschlüsseln
Gebt nun den Befehl
Code:
cryptroot-unlock
nun gebt ihr euer 100-stelliges Passwort ein (oder kopiert es euch aus der Zwischenablage, fügt es mit einem Rechtsklick ein) und bestätigt mit [ENTER].
Ihr könnt nun diese Putty-Sitzung beenden.
4.3 in Konsole anmelden
Ihr könnt euch nun wie gehabt mit eurem normalen Login per Putty auf dem Server anmelden.
Nach einem Neustart des Servers braucht ihr nurnoch die 4.x Punkte zu befolgen.
Zuletzt bearbeitet: