Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Ubuntu Server 22.04.1 LTS LUKS via SSH entschlüsseln statt mit Tastatur am Server

RuckZuck

Premium
Registriert
8. November 2012
Beiträge
1.909
Lösungen
3
Reaktionspunkte
2.205
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
-
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


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".
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

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.
-
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

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:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Hier wählen wir "Europe" und anschließend "Berlin" aus.

2.5 Passwort für ROOT vergeben & Login erlauben
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
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
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
und sicht die Zeile welche mit "PermitRootLogin" beginnt. Löscht das Vorzeichen und ändert die Zeile ab in
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Speichert die Änderungen mit Strg+O und verlasst den Editor mit Strg+X.
anschließend starten wir den Server neu mit dem Befehl
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

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:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
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
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Dies dauert seine Zeit.
Anschließend starten wir den Server mittel dem Befehl
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
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:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

3.2 Dropbear Config editieren
Öffnet nun die Dropbear Config mit Nano
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
und ergänzen passende Zeile zu
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
-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
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
und fügt den mit PuTTYGen generierten Schlüssel ein
Beispiel:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Speichern [Strg+O] und schließen [Strg+X] nicht vergessen.

3.4 Dropbear Einstellungen übernehmen
Wir übernehmen nun die gemachten Einstellungen mit
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
anschließend starten wir den Server mittels
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
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
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
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.
 
Zuletzt bearbeitet:
Zurück
Oben