-
Wann müssen Sie per SSH auf Proxmox zugreifen?
-
So konfigurieren Sie SSH in Proxmox
-
Wie verbindet man sich per SSH mit einer Proxmox-VM?
-
So richten Sie den SSH-Fernzugriff auf Proxmox VE ein
-
So lösen Sie Verbindungsprobleme?
-
Vertrauenswürdige und professionelle Proxmox-Backup-Lösung
-
Proxmox SSH-Aktivierungshäufig gestellte Fragen
-
Fazit
SSH ermöglicht die entfernte CLI-Verwaltung von Proxmox VE-Hosts und VMs. Es umgeht die Web-Oberfläche für Automatisierung, Skripterstellung und Fehlerbehebung. Diese Anleitung erklärt die sichere Einrichtung von SSH, den Zugriff auf VMs, Absicherung und Diagnose. Wir behandeln Konfiguration, Netzwerkmodi, schlüsselbasierten Zugriff, Firewallregeln, Clustereinrichtung und gängige Lösungen.
Wann müssen Sie per SSH auf Proxmox zugreifen?
Sie benötigen SSH, wenn die Web-GUI nicht erreichbar oder langsam ist. Sie können Massenaufgaben skripten oder Stapelaktualisierungen ausführen. Sie können Boot-Probleme über die serielle Konsole debuggen (z. B. mithilfe von qm terminal), wenn Agenten fehlschlagen. Sie können direkt Protokolle überprüfen oder Clusterbefehle ohne Mausklicks ausführen. SSH hilft auch bei der Analyse nach Vorfällen, wenn die GUI hängt.
So konfigurieren Sie SSH in Proxmox
1. Proxmox VE enthält standardmäßig OpenSSH. Überprüfen Sie dies mit systemctl status sshd. Standardmäßig wird der Port 22 verwendet. Beginnen Sie damit, die Proxmox-Pakete auf die neueste stabile Version zu aktualisieren. Stellen Sie sicher, dass SSH aktiv ist: ss -tuln | grep :22 zeigt, dass der Port lauscht. Bearbeiten Sie /etc/ssh/sshd_config, um den Zugriff zu sichern. Zum Beispiel:
PermitRootLogin no PasswordAuthentication no AllowUsers admin_user Port 2222
2. SSH neu laden: systemctl reload sshd. Überprüfen: ssh -T admin_user@proxmox_ip -p 2222.
3. Sperren Sie als Nächstes den Root-Benutzer. Verwenden Sie PermitRootLogin no, um nicht-root Benutzer zu erzwingen. Erstellen Sie einen Administratorbenutzer: adduser admin_user, und gewähren Sie dann sudo-Rechte über usermod -aG sudo admin_user. Platzieren Sie Ihren öffentlichen Schlüssel in
/home/admin_user/.ssh/authorized_keys. Verwenden Sie ssh-keygen -t ed25519 auf der Client-Seite und ssh-copy-id -i ~/.ssh/id_ed25519.pub admin_user@proxmox_ip -p 2222.
4. Richten Sie Firewall-Regeln ein. Wenn Sie UFW auf einem separaten Verwaltungs-Host oder für Tests verwenden, führen Sie ufw allow 2222/tcp aus. Für die Proxmox VE-Firewall eine Regel hinzufügen:
pve-firewall add SSH --action ACCEPT --source <TRUSTED_IP> --iface <node>
Die Syntax kann variieren, wenn der nftables-basierte Proxmox-Firewall-Dienst verwendet wird. Bestätigen Sie, dass die Regel aktiv ist.
5. Erwägen Sie, den Standardport zu ändern. Nachdem Sie Port 2222 in sshd_config bearbeitet haben, aktualisieren Sie gegebenenfalls alle SELinux/AppArmor-Kontexte. Für SELinux: semanage port -a -t ssh_port_t -p tcp 2222. Laden Sie die Richtlinien neu. Passen Sie die Firewall an, um den neuen Port zuzulassen.
6. Installieren Sie Fail2Ban, um Brute-Force-Angriffe zu verhindern. Bei Debian-basiertem Proxmox:
apt update apt install fail2ban
7. Erstellen Sie ein Jail für SSH: in /etc/fail2ban/jail.local:
[sshd] enabled = true port = 2222 filter = sshd logpath = /var/log/auth.log maxretry = 5 bantime = 3600
8. Neustart: systemctl restart fail2ban. Überwachen Sie gesperrte IPs mit fail2ban-client status sshd.
9. Fügen Sie bei Bedarf eine Zwei-Faktor-Authentifizierung hinzu. Installieren Sie libpam-google-authenticator:
apt install libpam-google-authenticator
10. Führen Sie google-authenticator für jeden Benutzer aus. Fügen Sie in /etc/pam.d/sshd Folgendes hinzu:
auth required pam_google_authenticator.so
11. Und in sshd_config setzen Sie ChallengeResponseAuthentication yes. Laden Sie SSH neu. Testen Sie die Anmeldung mit Schlüssel und TOTP.
12. Überprüfen Sie die SSH-Konfiguration regelmäßig:
sshd -T | grep -i permitroot grep -i allowusers /etc/ssh/sshd_config
Stellen Sie sicher, dass die Einstellungen der Richtlinie entsprechen. Verwenden Sie ein Konfigurationsverwaltungstool, um Konsistenz zwischen den Knoten zu gewährleisten.
Wie verbindet man sich per SSH mit einer Proxmox-VM?
1. Stellen Sie sicher, dass die VM einen SSH-Server hat. Die meisten Linux-Vorlagen enthalten OpenSSH. Falls nicht vorhanden, installieren Sie: apt install openssh-server oder entsprechendes. Wählen Sie einen Netzwerkmodus: verknüpft, geroutet oder NAT mit Portweiterleitung. Bei verknüpftem Modus erhält die VM eine IP im LAN über vmbr0. Bei geroutetem Modus weisen Sie ein geroutetes Subnetz zu oder verwenden VLAN. Bei NAT richten Sie eine Portweiterleitung auf dem Host ein:
iptables -t nat -A PREROUTING -p tcp --dport 2223 -j DNAT --to-destination <VM_IP>:22
2. Testen Sie die Konnektivität: vom Host aus, ssh root@<VM_IP> oder über den weitergeleiteten Port: ssh user@host_ip -p 2223.
3. Überprüfen Sie die VM-Firewall. Wenn die Proxmox VE-Firewall für diese VM aktiviert ist: deaktivieren Sie sie vorübergehend mit qm set <VMID> --firewall 0 oder fügen Sie Regeln hinzu, um SSH zu erlauben. Innerhalb der VM überprüfen Sie ufw status oder iptables -L. Stellen Sie sicher, dass Port 22 geöffnet ist.
4. QEMU-Agent für interne Informationen verwenden: falls installiert, ausführen:
qm guest exec <VMID> -- ip addr
Dies zeigt die IP der VM an, ohne sich anzumelden. Stellen Sie sicher, dass der Agent im Gastsystem ausgeführt wird.
5. Für die Root-Anmeldung sollten Sie die direkte Root-Anmeldung in der VM deaktivieren. Verwenden Sie einen Nicht-Root-Benutzer mit Sudo-Rechten. Fügen Sie SSH-Schlüssel auf ähnliche Weise hinzu. Verwenden Sie ssh-copy-id benutzer@vm_ip. Wenn sich die VM hinter NAT befindet, stellen Sie sicher, dass die Portweiterleitung am Host funktioniert und die Netzwerkfirewall dies zulässt. Bei Verwendung des gerouteten Modus stellen Sie eine korrekte Routing-Konfiguration und passende Firewallregeln sicher.
6. Zur Fehlerbehebung bei SSH-Problemen: Führen Sie vom Client-Host aus nc -zv proxmox_ip 2223 oder telnet proxmox_ip 2223 aus. Auf der VM: Prüfen Sie systemctl status sshd, überprüfen Sie /var/log/auth.log oder journalctl -u sshd. Passen Sie die Firewall- oder Netzwerkeinstellungen entsprechend an.
So richten Sie den SSH-Fernzugriff auf Proxmox VE ein
1. Stellen Sie zunächst sicher, dass die Firewall des Hosts den SSH-Port zulässt. In der Proxmox VE-Firewall: Fügen Sie eine ACCEPT-Regel für SSH von vertrauenswürdigen Subnetzen oder IPs hinzu. Zum Beispiel:
pve-firewall add SSH --action ACCEPT --source 203.0.113.0/24
2. Bei Verwendung sowohl auf IPv4 als auch auf IPv6 anwenden. Bei externen Firewalls den gewählten Port nur von bekannten Adressen aus zulassen.
3. SSH-Zugriff beschränken: Verwenden Sie AllowUsers admin_user@203.0.113.* oder ähnlich in sshd_config. Dadurch werden Anmeldequellen eingeschränkt. Verwenden Sie ausschließlich die Authentifizierung mittels Schlüssel: PasswordAuthentication no. Laden Sie SSH danach neu.
4. Ändern Sie den Standardport. Bearbeiten Sie Port 2222. Laden Sie SSH neu: systemctl reload sshd. Aktualisieren Sie die Firewallregeln, um den neuen Port zuzulassen. Bei aktiviertem SELinux verwenden Sie semanage port -a -t ssh_port_t -p tcp 2222, falls SELinux erzwungen wird. Stellen Sie bei AppArmor sicher, dass keine widersprüchlichen Profile vorhanden sind.
5. Für Cluster-Knoten Passwortlose SSH-Schlüssel einrichten. Auf jedem Knoten:
ssh-keygen -t ed25519 ssh-copy-id -i ~/.ssh/id_ed25519.pub root@node2_ip -p 2222
6. Wiederholen Sie dies, damit jeder Knoten per SSH auf die anderen zugreifen kann, ohne ein Passwort einzugeben. Überprüfen Sie dies mit ssh node2 pvecm status. Dies unterstützt Live-Migration, Replikation und Skripte.
7. Verwenden Sie bei Bedarf Jump-Hosts: vom Administrator-Arbeitsplatz aus:
ssh -J admin_user@bastion_ip admin_user@proxmox_ip -p 2222
Dies sichert direkte Exposition. Halten Sie die Bastion verstärkt und überwacht.
8. Aktivieren Sie die Protokollierung und Überwachung. Prüfen Sie /var/log/auth.log auf SSH-Ereignisse. Integrieren Sie in SIEM-Systeme oder Protokollsammler. Drehen Sie Protokolle regelmäßig und richten Sie Warnungen bei wiederholten Fehlern ein. Nutzen Sie Fail2Ban, um Angreifer zu blockieren. Führen Sie regelmäßig Audits von /etc/ssh/sshd_config über sshd -T durch. Automatisieren Sie die Prüfungen in CI/CD-Pipelines.
So lösen Sie Verbindungsprobleme?
1. Wenn der SSH-Port geschlossen erscheint: Testen Sie auf dem Host mit ss -tuln | grep 2222 . Von einem entfernten Gerät aus verwenden Sie nc -zv proxmox_ip 2222. Wenn ein Timeout auftritt, überprüfen Sie die Firewall. Wenn die Verbindung abgelehnt wird, stellen Sie sicher, dass sshd aktiv ist: systemctl status sshd. Prüfen Sie Ablehnungen durch SELinux/AppArmor in den Audit-Logs.
2. Wenn der Host per SSH nicht erreichbar ist, aber die GUI funktioniert, überprüfen Sie die Netzwerkschnittstelle und Routen: ip addr, ip route. Wenn die GUI nicht erreichbar ist, aber SSH funktioniert, prüfen Sie systemctl status pveproxy und ss -tuln | grep 8006. Starten Sie die GUI-Dienste neu: systemctl restart pveproxy pvedaemon.
3. Wenn die schlüsselbasierte Anmeldung fehlschlägt, aktivieren Sie den ausführlichen SSH-Client: ssh -vvv admin_user@proxmox_ip -p 2222. Prüfen Sie auf Unstimmigkeiten bei Schlüsseln oder Berechtigungen. Stellen Sie sicher, dass ~/.ssh und authorized_keys die richtigen Berechtigungen haben (700/600).
4. Wenn Cluster-Befehle hängen bleiben, überprüfen Sie die SSH-Verbindungen zwischen den Knoten. Verwenden Sie ssh node1 pvecm status und ssh node2 hostname. Prüfen Sie Host-Schlüssel; ersetzen Sie veraltete Einträge in ~/.ssh/known_hosts, wenn sich IPs ändern.
Vertrauenswürdige und professionelle Proxmox-Backup-Lösung
Während SSH den Zugriff sichert, benötigen Sie auch einen zuverlässigen Sicherungsplan. Vinchin Backup & Recovery ist eine Enterprise-Lösung für Proxmox. Sie unterstützt vollständige und inkrementelle VM-Sicherungen. Durch Deduplizierung und Komprimierung wird Speicherplatz gespart. Sie können Sicherungen planen und Aufbewahrungsrichtlinien festlegen. Die Integration in Proxmox erfolgt nahtlos. Sie können Sicherungsaufgaben für VMs erstellen, ohne einen Agenten installieren zu müssen. Vinchin überprüft Sicherungen und ermöglicht schnelle Wiederherstellungen. Zudem unterstützt sie Offsite-Replikation und Verschlüsselung zur Datensicherheit und gewährleistet stets die Geschäftskontinuität und eine effiziente Wiederherstellung. Außerdem ermöglicht sie eine reibungslose V2V-Migration zwischen unterstützten Virtualisierungsplattformen und sorgt so für Flexibilität und einfache Datenübertragung.
Die Vinchin-Webkonsole ist intuitiv. Um eine Proxmox-VM zu sichern:
1. Wählen Sie zuerst die Proxmox-VM aus, die Sie sichern möchten.

2. Wählen Sie als Nächstes den Sicherungsspeicher in Ihrer Umgebung aus.

3. Anschließend Sicherungsstrategien konfigurieren.

4. Abschließend den Auftrag einreichen.

Vinchin betreut Kunden weltweit und erhält hohe Bewertungen. Nutzen Sie eine 60-tägige kostenlose Testversion mit allen Funktionen, um herauszufinden, wie gut es in Ihren Workflow passt. Laden Sie das Installationsprogramm herunter, um eine einfache Bereitstellung zu ermöglichen, und schützen Sie noch heute Ihre VMs.
Proxmox SSH-Aktivierungshäufig gestellte Fragen
F1: Wie teste ich die SSH-Verbindungsfähigkeit, wenn die Proxmox-GUI ausgefallen ist?
Verwenden Sie ssh admin_user@proxmox_ip -p 2222 von einem vertrauenswürdigen Host aus; überprüfen Sie, ob der Port geöffnet ist und der SSH-Dienst aktiv ist.
Q2: Wie kann ich SSH auf Proxmox absichern?
Deaktivieren Sie die Root-Anmeldung (PermitRootLogin no), erzwingen Sie die Authentifizierung über Schlüssel (PasswordAuthentication no), beschränken Sie die Quell-IPs (Firewall/AllowUsers), ändern Sie den Port (Port 2222) und installieren Sie Fail2Ban.
Q3: Wie verbinde ich mich per SSH mit einer VM hinter NAT?
Richten Sie eine Portweiterleitung des Hosts ein oder verwenden Sie ein VPN: iptables -t nat -A PREROUTING -p tcp --dport 2223 -j DNAT --to-destination <VM_IP>:22, dann führen Sie ssh user@host_ip -p 2223 aus.
Fazit
SSH ist entscheidend für eine zuverlässige Proxmox-Verwaltung. Sichern Sie es durch die Authentifizierung mittels Schlüsseln, Firewallregeln, das Prinzip der geringsten Berechtigung und regelmäßige Audits. Integrieren Sie die SSH-Einrichtung in Automatisierungsabläufe und Backup-Strategien, um eine schnelle Wiederherstellung zu gewährleisten. Halten Sie einheitliche Konfigurationen über alle Knoten hinweg aufrecht und überwachen Sie die Zugriffsprotokolle. Vinchin ergänzt die SSH-Operationen, indem es einen Unternehmensschutz für virtuelle Maschinen in unterschiedlichen Umgebungen bietet.
Teilen auf: