Bild mit dem Schriftzug: Proxmox Härten und Sichern

Proxmox Ab-Härtung: SSH-Keys installieren

Proxmox ist eine leistungsstarke Virtualisierungsplattform, aber Sicherheit ist entscheidend. Mit Debian Bullseye oder Bookworm als Basis lassen sich durch gezielte Ab-Härtung zusätzliche Sicherheitsebenen implementieren. Dazu gehörenauch die erzeugung von SSH-Keys. Das gehen wir hier mal durch. Dieser Artikel beschäftigt sich mit SSH-Key erstellunge auf einem Linux System. Windows folgt.

Neue Proxmox-Version: 8.3.x Informationen und Download

Achtung

Achtung. Keine Garantie auf Vollständigkeit. Eingriffe an Linux-Servern, können bei Unachtsamkeit oder Fehlern zu einem Datenverlust führen. Auch kann man sich aussperren, wenn man die Firewall, Ports, Netzwerke oder Konfigurationen falsch einstellt. Wenn Sie keine Erfahrung mit Linux haben, sollten Sie am besten zunächst die Finger davon lassen und sich erst mal an Linux rantasten. Die unten stehenden Anleitungen sind getestet und Funktionieren. Wenn Sie allerdings etwas nicht richtig machen, dann sperren Sie sich womöglich im Bereich SSH oder Firewall aus!

Linux Befehle nicht einfach blind in die Konsole eingeben. Es ist immer zu Prüfen, welche Linux- und Proxmox-Version verwendet werden. Auch ist die Netzwerk-, IP-, Server- und Umgebungskonfiguration ausschlaggebend, ob und wie die hier angegebenen Tipps angewendet werden können. Es sollte sich auch mit jedem Punkt einzeln und intensiv befasst werden. Man kann nicht einfach alles "abarbeiten" und dann läuft es. Proxmox abzusichern braucht Zeit und muss mit äußerster Vorsicht vonstatten gehen. Außerdem ist die Sicherheit von Servern ein dauernder Prozess. Alles einrichten und die Kellertür zuknallen, ist nicht. 

SSH-Keys auf Linux erstellen und in Proxmox installieren

Erstellen Sie zunächst einen SSH-Schlüssel auf Ihrem lokalen Rechner. Nutzen Sie dafür den folgenden Befehl:


              
            

Vergeben Sie beim Erstellen des Schlüssels immer einen eindeutigen Namen. Damit bleibt alles übersichtlich. Nach dem erzeugen des Key, fragt das System wo und unter welchem Namen der Key gespeichert werden soll. Geben Sie dabei den vollständigen Pfad zum speichern an, zum Beispiel: 


              
            
Es gibt in Linux viele Möglichkeiten, SSH-Keys auf einen Server zu kopieren. Dazu gehören Methoden wie das Kopieren mit SCP, die Nutzung von ssh-copy-id, das manuelle Einfügen des Schlüssels oder der Einsatz verschiedener Softwaretools. In diesem Beitrag zeige ich Ihnen zwei Wege: Zunächst das manuelle Kopieren unter Punkt 1 und anschließend die aus meiner Sicht aktuell beste und einfachste Methode: ssh-copy-id.

1. Manuelles Anzeigen und Einfügen des SSH-Keys auf einem Linux-, Proxmox-Server.

Zeigen Sie den öffentlichen Key mit dem folgenden Befehl an:


              
            

Kopieren Sie den öffentlichen Schlüssel auf den Server. Markieren Sie den Key mit der Maus, kopieren Sie ihn in die Zwischenablage, gehen Sie auf den Proxmox-Server, nach "Datacenter", "Konoten" in die Shell, gehen Sie in den Ordner .ssh (cd .ssh) öffnen sie die Datei  authorized_keys und fügen Sie den Key in die Datei ein. Dann die Datei speichern und dann systemctl restart sshd:


              
            

2. Kopieren des Keys auf den Server mithilfe von ssh-copy-id. Beachten Sie, dass für diesen Weg in der sshd_config bzw in der sshd_config.d/my-custom-sshd.conf beide Einträge auf yes stehen müssen: ​PasswordAuthentication yes und PermitRootLogin yes. Der Befehl verlangt einen Serverlogin.

Geben Sie diesen Befehl ein, und passen Sie Port und IP im Befehl an Ihre Server-Umgebung an:


              
            

Ganz gleich welchen Weg Sie einschlagen um den Key auf den Server zu kopieren: Testen Sie nun den Login mit Ihrem Schlüssel. Nutzen Sie dazu: 


              
            

Kostenlose IT-Sicherheits-Bücher - Information via Newsletter

Bleiben Sie informiert, wann es meine Bücher kostenlos in einer Aktion gibt: Mit meinem Newsletter erfahren Sie viermal im Jahr von Aktionen auf Amazon und anderen Plattformen, bei denen meine IT-Sicherheits-Bücher gratis erhältlich sind. Sie verpassen keine Gelegenheit und erhalten zusätzlich hilfreiche Tipps zur IT-Sicherheit. Der Newsletter ist kostenlos und unverbindlich – einfach abonnieren und profitieren!

Hinweis: Wenn Sie auf den Button klicken, werden Sie zu MailerLite weitergeleitet. Dort werden essentielle Cookies zur Sicherung der Funktion des Newsletterformulares gespeichert. Mit Ihrem Klick erteilen Sie das Einverständnis zur Verwendung dieser Cookies.

Zur Anmeldung

Wenn der Login erfolgreich ist, werden Sie auf den Server eingeloggt. Falls dies nicht funktioniert, gehen Sie auf den Proxmox-Server in die GUI, dann in die Shell. Öffnen Sie dann dort die Datei sshd_config, um sicherzustellen, dass die Schlüssel-Authentifizierung aktiviert ist. Sollten Sie eine sshd_config.d/my-custom-ssh.cof haben, öffnen Sie natürlich diese Datei:


              
            

Suchen Sie die Zeile mit PubkeyAuthentication. Entfernen Sie das Rautezeichen und stellen Sie sicher, dass die Zeile wie folgt aussieht:


              
            

Speichern Sie die Datei und starten Sie den SSH-Dienst neu:


              
            

Testen Sie erneut den Login mit Ihrem SSH-Schlüssel:


              
            

Wenn der Login funktioniert, können Sie den privaten Schlüssel sicher speichern. Es ist wichtig, diesen Schlüssel zu schützen, da er für den Zugriff auf Ihren Server erforderlich ist. Speichern Sie ihn beispielsweise in einem Passwortmanager wie KeePass oder auf verschlüsselten Medien.

Um die Sicherheit weiter zu erhöhen, deaktivieren Sie den Passwort-Login für den Benutzer root. Öffnen Sie dazu erneut die sshd_config:


              
            

Ändern Sie die Einstellung für PermitRootLogin:


              
            

Speichern Sie die Datei und starten Sie den SSH-Dienst neu:

Aber Achtung. Es ist besser eine separate sshd_config Datei zu nutzen, denn bei einem ssh Server-Update könnte die Datei überschrieben werden:


              
            

In meiner Datei habe ich folgende Werte eingetragen:


              
            

Testen sie die neue Konfig. Wenn keine Fehler ausgegeben werden ist sie in Ordnung:


              
            

              
            

Proxmox VE 8 Praxisbuch

Informationen, Tipps und Tricks für Proxmox-Einsteiger und Fortgeschrittene - umfassend überarbeitete Ausgabe 4 mit 450 Seiten Proxmox-Wissen

Buch auf Amazon

NEU

Proxmox Fachbuch von Ralf-Peter Kleinert Auflage 3

SSH-Key Schlüsseldatei für Putty Konvertieren

Damit ist es nicht mehr möglich, sich als root mit einem Passwort einzuloggen. Der Zugriff erfolgt jetzt ausschließlich über den SSH-Schlüssel.

Falls Sie den Schlüssel in PuTTY nutzen möchten, müssen Sie ihn in das PuTTY-eigene Format (.ppk) konvertieren. Installieren Sie zunächst die notwendigen Tools:


              
            

Konvertieren Sie den Schlüssel dann mit folgendem Befehl:


              
            

Mit dieser Datei können Sie sich über PuTTY auf den Server verbinden. Achten Sie weiterhin darauf, Ihren Schlüssel sicher zu speichern und regelmäßig zu sichern. So bleibt Ihr Zugriff zuverlässig und geschützt.

Erklärungen der Befehle und die Berechtigungen

Berechtigungen. Die SSH Key Dateien und der .ssh Ordner benötigen die folgenden Berechtigungen. Diese sollten aber beim erzeugen bereits ordnungsgemäß gesetzt sein:

chmod 600 ~/.ssh/pve01
chmod 700 ~/.ssh

Erklärungen der Befehle:

Der Befehl chmod 600 ~/.ssh/pve01 ändert die Berechtigungen der Datei so, dass nur der Besitzer die Datei lesen und schreiben kann. Die Zahl 600 bedeutet, dass der Besitzer die Rechte hat, die Datei zu lesen und zu schreiben, während alle anderen Benutzer keinen Zugriff auf die Datei haben. Dies ist notwendig, um sicherzustellen, dass private Schlüssel geschützt sind und nicht von anderen Benutzern eingesehen oder manipuliert werden können.

Der Befehl chmod 700 ~/.ssh setzt die Berechtigungen für das .ssh-Verzeichnis. Damit erhält der Besitzer die Rechte, das Verzeichnis zu lesen, darin zu schreiben und in das Verzeichnis zu wechseln. Andere Benutzer haben keinerlei Zugriff auf das Verzeichnis. Die Zahl 700 bedeutet, dass nur der Besitzer vollständigen Zugriff auf das Verzeichnis hat. Das ist wichtig, da in diesem Verzeichnis sensible Daten wie Schlüssel oder Konfigurationsdateien gespeichert sind, die vor Fremdzugriff geschützt werden müssen.

ssh-keygen -t rsa -b 4096

Mit diesem Befehl erstellen Sie ein neues Schlüsselpaar für die SSH-Authentifizierung. Mit -t rsa wird festgelegt, dass der Schlüssel den RSA-Algorithmus verwenden soll, und -b 4096 gibt an, dass die Schlüssellänge 4096 Bit beträgt. Dadurch wird ein sicherer privater Schlüssel (z. B. id_rsa) und ein öffentlicher Schlüssel (z. B. id_rsa.pub) erzeugt. Der private Schlüssel bleibt auf Ihrem Rechner, während der öffentliche Schlüssel auf den Server kopiert wird.

~/.ssh/proxmox

Dieser Pfad gibt den Speicherort für die zu erstellenden Schlüsseldateien an. Der private Schlüssel wird als ~/.ssh/proxmox und der öffentliche Schlüssel als ~/.ssh/proxmox.pub gespeichert. Durch die Angabe eines eindeutigen Namens wird der Schlüssel übersichtlich organisiert und verwechselt sich nicht mit anderen Schlüsseln.

ssh-copy-id -i ~/.ssh/proxmox.pub -p 2222 root@23.Ihre IP-Adresse

Mit diesem Befehl wird der öffentliche Schlüssel auf den Server kopiert. Die Option -i gibt den Pfad zur öffentlichen Schlüsseldatei an (in diesem Fall ~/.ssh/proxmox.pub). Der Parameter -p 2222 spezifiziert den benutzerdefinierten Port 2222, der auf dem Server auf Port 22 weitergeleitet wird. Der Benutzer root und die IP-Adresse 23.88.68.158 geben an, wohin der Schlüssel kopiert werden soll. Das Tool fügt den Schlüssel zur Datei /root/.ssh/authorized_keys auf dem Server hinzu, um den Zugriff zu ermöglichen.

ssh -i ~/.ssh/proxmox -p 2222 root@23​.Ihre IP-Adresse

Dieser Befehl stellt eine Verbindung zum Server her, indem der private Schlüssel ~/.ssh/proxmox verwendet wird. Mit -p 2222 wird der benutzerdefinierte Port angegeben. Der Benutzer root und die IP-Adresse 23.88.68.158 spezifizieren das Ziel. Wenn die Authentifizierung erfolgreich ist, erfolgt der Login ohne Passwortabfrage.

nano /etc/ssh/sshd_config

Mit diesem Befehl wird die Konfigurationsdatei des SSH-Daemons (sshd) im Texteditor nano geöffnet. Die Datei /etc/ssh/sshd_config enthält alle Einstellungen für den SSH-Dienst, wie zum Beispiel, ob die Schlüssel-Authentifizierung aktiviert ist oder ob sich root anmelden darf. Änderungen in dieser Datei wirken sich auf die Sicherheit und Zugänglichkeit des Servers aus.

systemctl restart sshd

Dieser Befehl startet den SSH-Dienst (sshd) neu. Nach Änderungen in der Datei /etc/ssh/sshd_config ist ein Neustart erforderlich, damit die neuen Einstellungen wirksam werden. Ohne diesen Schritt bleiben die alten Konfigurationsparameter aktiv.

puttygen ~/.ssh/proxmox -o ~/.ssh/proxmox.ppk

Mit diesem Befehl wird der private SSH-Schlüssel ~/.ssh/proxmox in das PuTTY-Format (.ppk) konvertiert. Das PuTTY-Format ist erforderlich, um den Schlüssel in PuTTY oder anderen Windows-Tools zu verwenden. Die konvertierte Datei wird unter ~/.ssh/proxmox.ppk gespeichert.

apt install putty-tools

Dieser Befehl installiert die putty-tools, ein Paket, das Tools wie puttygen für Linux enthält. Damit können OpenSSH-Schlüssel in das PuTTY-Format konvertiert werden. Diese Tools sind speziell für die Integration mit PuTTY und anderen Windows-Anwendungen gedacht.

PermitRootLogin prohibit-password

Diese Einstellung in der Datei /etc/ssh/sshd_config erlaubt den Root-Login nur mit einem SSH-Schlüssel. Der Login mit einem Passwort wird vollständig deaktiviert. Dadurch wird die Sicherheit erhöht, da keine Passwörter mehr verwendet werden können, die von Angreifern erraten werden könnten.

Proxmox Tutorial - Teil 4 - SSH-Keys auf Linux und Windows erstellen

In diesem Video erfahren Sie, wie Sie schnell und einfach SSH-Keys auf Linux- und Windows-Systemen erstellen und diese sicher auf einem Proxmox VE Server installieren können.

Ralf-Peter Kleinert - Buchautor für IT-Sichereit, Computersicherheit und Cybersecurity

Über den Autor: Ralf-Peter Kleinert

Über 30 Jahre Erfahrung in der IT legen meinen Fokus auf die Computer- und IT-Sicherheit. Auf meiner Website biete ich detaillierte Informationen zu aktuellen IT-Themen. Mein Ziel ist es, komplexe Konzepte verständlich zu vermitteln und meine Leserinnen und Leser für die Herausforderungen und Lösungen in der IT-Sicherheit zu sensibilisieren.

Mehr über mich, Ausbildung, Zertifizierungen

Meine Amazon Autorenseite

Aktualisiert: Ralf-Peter Kleinert 02.01.2025