Das Protokoll SSH er­mö­gli­cht es Ihnen, sich aus der Ferne per Kom­man­do­zei­le mit dem Server zu verbinden. Dies ist bei­spiel­swei­se für Ad­mi­ni­stra­tion, Updates oder Da­teiü­ber­tra­gun­gen nützlich. Diese Anleitung erklärt Ihnen Schritt für Schritt, wie Sie SSH auf einem Proxmox-Server ak­ti­vie­ren und sicher nutzen.

Schritt 1: Vor­be­rei­tun­gen treffen

Bevor Sie auf Ihrem Proxmox-Server SSH ak­ti­vie­ren, sollten Sie in einem ersten Schritt si­cher­stel­len, dass Sie die Bare-Metal-In­stal­la­tion von Proxmox ab­ge­schlos­sen haben. Außerdem benötigen Sie phy­si­schen oder kon­so­len­ba­sier­ten Zugriff auf den Server. Dies ist eine Si­che­rhei­tsmaß­nah­me, denn Än­de­run­gen an SSH können den Fern­zu­griff un­ter­bre­chen. Wenn Sie sich daher aus­schließ­lich per SSH verbinden und etwas falsch kon­fi­gu­rie­ren, könnten Sie au­sge­sperrt werden. Legen Sie sich deshalb einen „Not­fall­zu­gang“ zurecht. Notieren Sie außerdem die IP-Adresse des Servers und das Root-Passwort, bevor Sie beginnen.

Schritt 2: In­stal­la­tion von OpenSSH prüfen

Bevor Sie den SSH-Server auf Ihrem Proxmox-System in­stal­lie­ren, sollten Sie zunächst prüfen, ob bereits eine SSH-Server-Software vorhanden und aktiv ist. Proxmox basiert auf Debian, sodass Sie den Status dieses Dienstes einfach über­prü­fen, indem Sie im Terminal den folgenden Befehl eingeben:

sudo systemctl status ssh
bash

Nach der Au­sfüh­rung des Befehls erhalten Sie eine Ausgabe, die Ihnen Auskunft über den Ak­ti­vi­tä­ts­sta­tus des Dienstes gibt. Wenn Sie die Meldung active (running) sehen, bedeutet das, dass der SSH-Dienst korrekt in­stal­liert ist und aktuell bereits läuft. In diesem Fall können Sie direkt mit der Kon­fi­gu­ra­tion oder dem Ein­ri­ch­ten von SSH-Schlüs­seln fort­fah­ren.

Zeigt die Ausgabe hingegen inactive oder failed, dann läuft der SSH-Dienst entweder nicht oder ist nicht (korrekt) in­stal­liert. In diesem Falle machen Sie mit Schritt 3 dieser Anleitung weiter und in­stal­lie­ren den SSH-Dienst.

Schritt 3: OpenSSH in­stal­lie­ren

Wenn Sie in Schritt 2 fest­ge­stellt haben, dass auf Ihrem Proxmox-Server kein funk­tio­nie­ren­der SSH-Dienst vorhanden ist, müssen Sie OpenSSH in­stal­lie­ren. OpenSSH ist die am weitesten ver­brei­te­te Im­ple­men­tie­rung des SSH-Pro­to­kolls und auf nahezu allen Linux-Systemen Standard. Sie stellt den SSH-Daemon bereit, der es er­mö­gli­cht, sich sicher per Remote-Ver­bin­dung mit dem Server zu verbinden.

Bevor ein Paket in­stal­liert werden kann, sollten Sie zunächst die aktuellen Pa­ke­tli­sten Ihres Systems ak­tua­li­sie­ren. Auf diese Weise sorgen Sie dafür, dass die In­stal­la­tion die neueste ver­füg­ba­re Version erhält und even­tuel­le Ab­hän­gi­g­kei­ten korrekt aufgelöst werden. Die Befehle für die Ak­tua­li­sie­rung Ihres Systems und den Download des SSH-Dienstes lauten:

sudo apt update
sudo apt install -y openssh-server
bash

Nach der In­stal­la­tion sollte der SSH-Dienst au­to­ma­ti­sch gestartet werden. Um si­cher­zu­stel­len, dass alles korrekt läuft, über­prü­fen Sie an­schließend den Status des Dienstes wie in Schritt 2 bereits gezeigt.

Schritt 4: Autostart ein­ri­ch­ten

Damit Ihr SSH-Dienst bei jedem Neustart des Servers au­to­ma­ti­sch verfügbar ist, müssen Sie ihn für den Autostart kon­fi­gu­rie­ren. Diese Kon­fi­gu­ra­tion wird bei Debian-basierten Systemen wie Proxmox über systemd gesteuert. Mit dem un­ten­ste­hen­den Ter­mi­nal­be­fe­hl teilen Sie dem System mit, dass der Dienst künftig bei jedem Boot­vor­gang gestartet werden soll. Ergänzt mit der Option --now wird der Dienst sofort aktiviert und gestartet, sodass Sie nicht warten müssen, bis der nächste Neustart erfolgt.

sudo systemctl enable --now ssh
bash

Schritt 5: Ver­bin­dung vom eigenen Rechner aus testen

Nachdem der SSH-Dienst auf Ihrem Proxmox-Server in­stal­liert und aktiviert wurde, sollten Sie testen, ob die Ver­bin­dung von Ihrem eigenen Rechner aus funk­tio­niert. Dazu benötigen Sie entweder ein Terminal auf Linux bzw. macOS oder WSL oder einen SSH-Client wie PuTTY, wenn Sie unter Windows arbeiten. Der grund­le­gen­de Befehl, um eine Ver­bin­dung her­zu­stel­len, lautet:

ssh root@SERVER_IP
bash

Dabei ersetzen Sie SERVER_IP durch die ta­tsä­chli­che IP-Adresse oder den Hostnamen Ihres Proxmox-Servers.

Beim ersten Ver­bin­dung­sauf­bau fragt Ihr SSH-Client nach dem so­ge­nann­ten Server-Fin­ger­print. Dies ist eine Si­che­rhei­tsmaß­nah­me, die si­cher­stellt, dass Sie wirklich mit dem richtigen Server verbunden werden und nicht mit einem möglichen Angreifer. Sie be­stä­ti­gen diese Si­che­rhei­tsab­fra­ge, indem Sie „yes“ eingeben. Danach wird der Fin­ger­print in der Datei ~/.ssh/known_hosts auf Ihrem Rechner ge­spei­chert, sodass zu­künf­ti­ge Ver­bin­dun­gen au­to­ma­ti­sch als sicher erkannt werden.

An­schließend fordert SSH Sie auf, das Root-Passwort ein­zu­ge­ben, sofern die Pas­swor­tau­then­ti­fi­zie­rung auf dem Server erlaubt ist. Sollte die Ver­bin­dung nicht zustande kommen, liefert SSH Fe­hler­mel­dun­gen wie „Con­nec­tion refused“ (kein Dienst er­reich­bar) oder „Per­mis­sion denied“ (Zugang ver­wei­gert).

Schritt 6: SSH-Schlüssel erstellen und verwenden

Eine schlüs­sel­ba­sier­te Au­then­ti­fi­zie­rung ist sicherer und prak­ti­scher als die reine Pas­swor­tan­mel­dung. Daher erzeugen wir nun ein Schlüs­sel­paar auf Ihrem lokalen Rechner mit folgendem Befehl:

ssh-keygen -t ed25519 -C "IhrName@Arbeitsplatz"
bash

Der private Schlüssel bleibt auf Ihrem lokalen Rechner und darf niemals geteilt werden. Der öf­fen­tli­che Schlüssel (*.pub) wird auf dem Server in ~/.ssh/authorized_keys ge­spei­chert. Um den öf­fen­tli­chen Schlüssel auf den Server zu kopieren, nutzen Sie folgende Anweisung:

ssh-copy-id root@SERVER_IP
bash

Schritt 7: SSH kon­fi­gu­rie­ren

Wenn der Schlüs­sel­zu­gang funk­tio­niert, sollten Sie die SSH-Kon­fi­gu­ra­tion anpassen, um die Si­che­rheit zu erhöhen. Öffnen Sie die Kon­fi­gu­ra­tion­sda­tei mit sudo nano /etc/ssh/sshd_config und passen Sie die folgenden Zeilen wie im Beispiel gezeigt an:

Port 22
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes

Diese Kon­fi­gu­ra­tion erhöht die Si­che­rheit des SSH-Zugangs, indem sie die Anmeldung aus­schließ­lich per Schlüs­se­lau­then­ti­fi­zie­rung erlaubt und die Pas­swor­tan­mel­dung voll­stän­dig deak­ti­viert. Glei­ch­zei­tig bleibt der Root-Zugang möglich, jedoch nur über die soeben hin­ter­leg­ten SSH-Schlüssel. Hierdurch werden Brute-Force-Angriffe effektiv ve­rhin­dert.

Starten Sie sshd nach dem Update der Kon­fi­gu­ra­tion­sda­tei neu, damit die Än­de­run­gen greifen:

sudo systemctl restart ssh
bash

Nach der er­fol­grei­chen Kon­fi­gu­ra­tion und Ab­si­che­rung Ihres SSH-Zugangs ist Ihr Proxmox-Server bereit für den sicheren Remote-Betrieb. Um Ihre vir­tuel­len Maschinen zu­sä­tz­lich vor Da­ten­ver­lu­st zu schützen, können Sie mit einem Proxmox Backup Server re­gel­mäßi­ge und au­to­ma­ti­sier­te Backups ein­ri­ch­ten.

Server Intel®
Potenzia i tuoi progetti web
  • Intel Xeon E Raptor Lake
  • Hardware integrato nel cloud
  • Pro­ces­so­ri Intel® Xeon® ad alte pre­sta­zio­ni
  • Data center cer­ti­fi­ca­ti ISO
Vai al menu prin­ci­pa­le