Einrichten eines neuen Hetzner-Servers – Schlüsselerstellung, erstes Login

Motivation

Das Einrichten eines neuen Servers bei Hetzner ist für mich eine regelmäßig wiederkehrende Aufgabe: Alle paar Jahre gibt es leistungsstärkere, preisgünstigere Geräte im Angebot, so dass sich ein Umzug lohnt. Außerdem wirke ich ansteckend; im Bekanntenkreis gibt es immer wieder Kolleg*innen, die sich ebenfalls einen Server einrichten wollen. Und damit wir alle nicht ständig das Rad neu erfinden müssen, halte ich hier die nötigen Konfigurationsschritte fest, in der Hoffnung, dass beim nächsten Upgrade in ein paar Jahren die neuen Versionen noch genauso konfiguriert werden müssen.

Zielgruppe

Ich werde nicht alles und jedes erklären. Vorausgesetzt wird der sichere Umgang mit der bash. Details zu allen Operationen gibt in der Regel die passende man-page. Protokolle werden ebenfalls nicht erklärt, dazu gibt es gute Artikel z.B. auf Wikipedia. 

Vorbereitungen

SSH-Schlüsselpaar erstellen

Zur Zeit sind vier Schlüsselverfahren für SSH möglich. DSA sollte nicht mehr verwendet werden. RSA ist der alte Standard, sicher und gut abgehangen. Ab einer Schlüssellänge von 4096 bit sollte eine RSA-Verschlüsselung zu Lebzeiten nicht mehr geknackt werden. Das neue, schnelle, ressourcenschonende Ed25519 hat sich anderswo (z.B. Signal) durchgesetzt. Ich werde hier Ed25519 verwenden; mit RSA und hinreichend langem Schlüssel macht man sicher keinen Fehler.

Wir wollen später die Festplatte verschlüsseln. Dabei wird ein sehr schlanker SSH-Server namens dropbear für die nötige Verbindung benutzt, und der kann kein Ed25519. Wer also für seinen User-Schlüssel Ed25519 benutzt, muss noch einen zweiten Schlüssel mit RSA oder ECDSA erstellen.

Im Terminal

Auf der Linux-Kommandozeile geht’s mit OpenSSH am schnellsten:

# ssh-keygen -t ed25519 -C „qno@qno.de“

Bei der Schlüsselerstellung wird ein Dateiname für den zu erstellenden Schlüssel vorgeschlagen, der bestätigt werden kann. Danach noch zweimal die gewünschte Passphrase zum Entsperren des Schlüssels eingeben – fertig.

Der öffentliche Schlüssel id_ed25519.pub muss jetzt auf alle Server kopiert werden, auf die sich der Nutzer einloggen will. Dort kommt er ins Verzeichnis ~/.ssh. Hier wird er mit 

~/.ssh $ cat id_ed25519.pub >> authorized_keys

in die Datei mit den zugelassenen Login-Schlüsseln eingefügt. Der private Schlüssel id_ed25519 wird mit der gebotenen Vorsicht auf alle Rechner kopiert, die sich mit diesem Schlüssel einloggen sollen.

Mit PuTTY

Die üblichen Windows-Distributionen bringen keine SSH-Unterstützung mit. Zum Quasi-Standard hat sich PuTTY entwickelt. Es kommt mit einem Installer und einer Suite von Hilfstools. PuTTYgen ist das Tool zur Schlüsselverwaltung. Ed25519 ist hier unter EdDSA zu finden, wo sich auch noch eine andere Kurve (Ed448) auswählen lässt. 

Leider gibt es verschiedene Dateiformate für SSH-Schlüssel, die alle irgendwie inkompatibel miteinander sind. Wenn man seinen Schlüssel mit PuTTY erstellt hat, drückt man einfach „Generate“.  Will man einen unter Linux erstellten Schlüssel mit PuTTY verwenden, muss man den erst in PuTTYgen laden. Auf jeden Fall muss man den privaten Schlüssel jetzt mit der Endung .ppk abspeichern. Der öffentliche Schlüssel kann ebenfalls gespeichert werden. Besser ist es aber, ihn aus dem Fenster „Public key for pasting into OpenSSH authorized_key files“ zu kopieren und mit Copy&Paste auf den jeweiligen Servern einzusetzen.

Hetzner-Robot

Nun wird es Zeit, sich in den Hetzner-Robot einzuwählen. Im Abschnitt „Server“ können wir unseren neuen Server auswählen. Dort tragen wir unter „IPs“  den Reverse-DNS-Eintrag der IPv4-Adresse ein, sofern wir noch eine haben. Wir sehen die zugeteilte IPv4 und ein IPv6-/64; diese Adressen werden auf unsere Netzwerkkarte geroutet. Die IPv4 ist standardmäßig eingetragen, ebenso eine /128 aus unserem /64. Alles andere steht in unserem Belieben. Beide Adressen notieren wir uns, damit wir sie auch finden, wenn der Robot mal gerade down sein sollte. Passiert sehr selten, aber natürlich genau dann, wenn man’s nicht braucht.

Wir könnten jetzt für unseren Server den Menüpunkt „Linux“ auswählen, ein Betriebssystem installieren und zum Server per SSH Verbindung aufnehmen. Wir wollen aber aus Sicherheitsgründen die Festplatten verschlüsseln und partitionieren, das ist nicht ganz trivial. Um gleich zu Beginn mit unserem neuen Schlüssel Zugriff zu erhalten, gehen wir im Robot oben in der Mitte auf „Schlüsselverwaltung“,  wählen „Neuer Schlüssel“ und kopieren unseren öffentlichen Schlüssel ins entsprechende Feld. Nach Abspeichern aktivieren wir für unseren Server das Rescue-System mit dem neuen Schlüssel. Nach Reboot können wir erstmals Verbindung aufnehmen und mit den Festplatten spielen. Das gibt’s in der nächsten Folge.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.