TutorialEinsteiger

Linux & Proxmox

Per SSH von Windows auf einen Debian-Container zugreifen

SSH im Debian-13-Container unter Proxmox einrichten und mit PuTTY von Windows zugreifen: Benutzer, Passwortanmeldung, Server-Fingerabdruck und Fehlerbehebung.

Veröffentlicht am

15 Minuten Lesezeit

Diese Anleitung beschreibt den Zugriff mit PuTTY und Benutzername/Passwort auf einen Debian-13-Container unter Proxmox. Eigene SSH-Schlüssel müssen dafür nicht erstellt oder kopiert werden. Die Verbindung ist trotzdem verschlüsselt.

Die Beispieladresse des Containers ist 192.168.1.30, der Beispielbenutzer heißt projektpmk. Ersetze diese Werte, wenn dein System andere verwendet.

Wer führt welche Schritte durch?

In der Regel übernimmt der Proxmox-Administrator die Vorbereitung aus den Abschnitten 1 bis 8. Er richtet den Container und den SSH-Zugang ein, legt den Benutzer an und prüft den Dienst. Der Benutzer, der später per SSH auf den Server zugreifen möchte, beginnt anschließend bei Abschnitt 9. Dafür benötigt er keinen Zugang zur Proxmox-Weboberfläche.

Nach der Einrichtung übermittelt der Administrator dem Benutzer folgende Zugangsdaten und Hinweise:

Information Beispiel oder Erklärung
IP-Adresse oder Servername 192.168.1.30
SSH-Port 22
Benutzername projektpmk (in Kleinbuchstaben)
Benutzerpasswort Sicher übermitteln, beispielsweise über einen freigegebenen Passwortmanager; kein Root-Passwort weitergeben.
Server-Fingerabdruck Vollständiger SHA256-Fingerabdruck und Schlüsseltyp, hier Ed25519, aus Abschnitt 8.
Netzwerkzugang Zugriff im LAN oder benötigte VPN-Verbindung.
Berechtigungen und Ansprechpartner Darf der Benutzer sudo verwenden, und wer hilft bei Verbindungsproblemen?

Ein vom Administrator vergebenes Startpasswort sollte der Benutzer nach der ersten Anmeldung mit passwd ändern. Die Anleitung zeigt die Vergabe von sudo-Rechten; der Administrator vergibt diese nur, wenn der Benutzer tatsächlich administrative Aufgaben übernehmen soll.

1. Die wichtigsten Begriffe

  • Proxmox-Host: Der Rechner, auf dem Proxmox und deine Container laufen.
  • Container: Deine separate Debian-Umgebung. Hier wird der SSH-Server installiert.
  • Konsole: Direkter Zugang zum Container über die Proxmox-Weboberfläche. Sie funktioniert auch dann, wenn SSH noch nicht eingerichtet ist.
  • SSH: Ein Verfahren für eine verschlüsselte Verbindung zu einem anderen Rechner. Darüber kannst du Linux-Befehle ausführen.
  • SSH-Server: Der Dienst im Debian-Container, der Verbindungen entgegennimmt.
  • PuTTY: Das Windows-Programm, mit dem du die Verbindung herstellst.
  • root: Der Linux-Benutzer mit vollständigen Administratorrechten.
  • sudo: Führt einen einzelnen Befehl mit Administratorrechten aus.
  • Port 22: Der standardmäßige Netzwerkport für SSH.

2. Vorbereitung

Für die Einrichtung benötigt der Administrator:

  • einen gestarteten Debian-Container unter Proxmox;
  • Zugang zur Proxmox-Weboberfläche und zur Container-Konsole;

Der Benutzer benötigt einen Windows-PC, der den Container über das Netzwerk erreichen kann, die vom Administrator übermittelten Zugangsdaten und PuTTY aus einer offiziellen Quelle: PuTTY herunterladen.

Für diese Anleitung befinden sich Windows-PC und Container im selben lokalen Netzwerk. Für Zugriff von unterwegs solltest du ein VPN verwenden. Richte keine SSH-Portweiterleitung im Router ein.

3. Container-Konsole öffnen

  1. Öffne die Proxmox-Weboberfläche.
  2. Wähle deinen Debian-Container aus.
  3. Öffne Konsole.
  4. Melde dich bei Bedarf als root mit dem bei der Erstellung vergebenen Passwort an.

Alle Linux-Befehle bis einschließlich Abschnitt 8 werden in der Konsole des Containers ausgeführt, nicht auf dem Proxmox-Host.

Kopiere jeweils nur den Inhalt der Befehlsblöcke. Ein vorangestelltes $ oder # aus anderen Anleitungen gehört normalerweise zur Eingabeaufforderung und wird nicht mit eingegeben.

4. IP-Adresse prüfen

ip -br address

Der Befehl zeigt die Netzwerkschnittstellen und ihre IP-Adressen. Suche die LAN-Adresse, beispielsweise:

eth0    UP    192.168.1.30/24

In PuTTY verwendest du 192.168.1.30, ohne /24. Die Adresse 127.0.0.1 ist nur eine interne Adresse des Containers und eignet sich nicht für den Zugriff vom Windows-PC.

Eine feste IP-Adresse oder eine DHCP-Reservierung im Router verhindert, dass sich die Adresse später unerwartet ändert. Verwende dabei eine freie, zu deinem Netzwerk passende Adresse.

5. Debian aktualisieren und SSH installieren

Führe diese Befehle nacheinander aus:

apt update
apt upgrade -y
apt install openssh-server sudo nano -y
systemctl enable --now ssh

Die Befehle bewirken Folgendes:

  • apt update aktualisiert die Liste verfügbarer Pakete.
  • apt upgrade -y installiert verfügbare Paketaktualisierungen. -y bestätigt Rückfragen automatisch.
  • apt install ... installiert den SSH-Server, sudo und den Texteditor nano.
  • systemctl enable --now ssh startet SSH sofort und aktiviert den Dienst für zukünftige Containerstarts.

6. Normalen Benutzer anlegen

Für den täglichen Zugriff verwendest du einen normalen Benutzer. Administratorrechte erhältst du bei Bedarf mit sudo.

Wenn projektpmk noch nicht existiert:

adduser projektpmk

Vergib ein langes, einmaliges Passwort. Bei der Passworteingabe erscheinen keine Zeichen und keine Sternchen. Das ist normal. Die optionalen Angaben wie Name oder Telefonnummer kannst du mit Enter überspringen.

Erlaube diesem Benutzer anschließend administrative Befehle:

usermod -aG sudo projektpmk

Wenn der Benutzer bereits existiert, überspringst du adduser. Sein Passwort kannst du bei Bedarf als root neu setzen:

passwd projektpmk

7. SSH für die Passwortanmeldung konfigurieren

Öffne eine eigene Konfigurationsdatei:

nano /etc/ssh/sshd_config.d/00-local-security.conf

Trage diesen Inhalt ein. Falls die Datei bereits die Konfiguration aus der Schlüssel-Anleitung enthält, ersetze ihren Inhalt durch diese Einstellungen:

PermitRootLogin no
PasswordAuthentication yes
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AllowUsers projektpmk
X11Forwarding no

Die Einstellungen bedeuten:

Einstellung Wirkung
PermitRootLogin no Verhindert die direkte SSH-Anmeldung als root.
PasswordAuthentication yes Erlaubt die Anmeldung mit Benutzerpasswort.
KbdInteractiveAuthentication no Deaktiviert eine zusätzliche interaktive Anmeldeart; die normale Passwortanmeldung bleibt erlaubt.
PubkeyAuthentication yes Lässt die Anmeldung mit SSH-Schlüsseln für einen späteren Wechsel zu. Ein Schlüssel ist dadurch nicht vorgeschrieben.
AllowUsers projektpmk Erlaubt SSH nur für den Benutzer projektpmk.
X11Forwarding no Deaktiviert die Weiterleitung grafischer Linux-Anwendungen.

Falls du einen anderen Benutzernamen verwendest, ändere auch AllowUsers entsprechend.

Speichere und schließe den Editor:

  1. Strg+O drücken, um zu speichern.
  2. Mit Enter den Dateinamen bestätigen.
  3. Strg+X drücken, um den Editor zu schließen.

Konfiguration vor dem Laden prüfen

/usr/sbin/sshd -t

Keine Ausgabe bedeutet, dass die Syntaxprüfung erfolgreich war. Bei einer Fehlermeldung korrigierst du zuerst die angegebene Stelle.

Prüfe anschließend die tatsächlich wirksamen Einstellungen:

/usr/sbin/sshd -T | grep -E '^(permitrootlogin|passwordauthentication|allowusers) '

Erwartet wird, möglicherweise in anderer Reihenfolge:

permitrootlogin no
passwordauthentication yes
allowusers projektpmk

Falls andere Werte erscheinen, lade die Konfiguration noch nicht neu. Andere SSH-Konfigurationsdateien können Einstellungen beeinflussen. Bei OpenSSH gilt für viele Einstellungen der zuerst gelesene Wert.

Wenn beide Prüfungen stimmen:

systemctl reload ssh

Die Proxmox-Konsole bleibt als Zugang erhalten. Wenn du später SSH-Einstellungen über SSH änderst, lass die bestehende Verbindung offen und teste die Anmeldung in einem zweiten Fenster.

8. SSH-Dienst und Server-Fingerabdruck prüfen

Kontrolliere, ob SSH läuft:

systemctl status ssh --no-pager

In der Ausgabe sollte active (running) stehen.

Prüfe, ob ein Dienst auf Port 22 lauscht:

ss -ltnp | grep ':22 '

Erwartet wird ein Eintrag mit LISTEN, beispielsweise für 0.0.0.0:22 oder [::]:22. 0.0.0.0 bedeutet hier, dass der Dienst auf allen IPv4-Adressen des Containers lauscht; diese Adresse trägst du nicht in PuTTY ein.

Zeige nun den Fingerabdruck des SSH-Servers an:

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Notiere die Zeichenfolge, die mit SHA256: beginnt. Du vergleichst sie beim ersten Verbindungsaufbau mit PuTTY. Der Server besitzt eigene Schlüssel zur Identifikation und Verschlüsselung, auch wenn du dich mit einem Passwort anmeldest. Diese Schlüssel musst du nicht kopieren.

9. Verbindung mit PuTTY herstellen

Ab hier führt der Benutzer die Schritte selbst aus. Verwende die vom Administrator erhaltenen Werte für Adresse, Port und Benutzername.

  1. Öffne PuTTY auf Windows.
  2. Trage unter Host Name (or IP address) die Container-IP ein, beispielsweise 192.168.1.30.
  3. Trage unter Port den Wert 22 ein.
  4. Wähle als Connection type die Option SSH.
  5. Optional: Gib unter Saved Sessions einen Namen wie Debian-Container ein und klicke auf Save.
  6. Klicke auf Open.

Beim ersten Zugriff zeigt PuTTY eine Meldung zum Server-Schlüssel an. Vergleiche den angezeigten SHA256-Fingerabdruck des Ed25519-Schlüssels mit dem vom Administrator übermittelten Fingerabdruck aus Abschnitt 8. Bestätige und speichere den Schlüssel nur bei Übereinstimmung. Falls PuTTY einen anderen Schlüsseltyp anzeigt oder der Fingerabdruck abweicht, wende dich vor dem Bestätigen an den Administrator.

Melde dich an:

login as: projektpmk

Gib anschließend das Benutzerpasswort ein und drücke Enter. Auch hier bleibt die Passworteingabe unsichtbar.

Wenn später eine Warnung erscheint, dass sich der Server-Schlüssel geändert hat, bestätige sie nicht ungeprüft. Eine Neuinstallation kann der Grund sein; lass den aktuellen Fingerabdruck vom Administrator über die Proxmox-Konsole prüfen und dir mitteilen.

10. Erste Schritte nach der Anmeldung

Aktuellen Benutzer anzeigen:

whoami

Die Ausgabe sollte projektpmk sein.

Ändere ein vom Administrator erhaltenes Startpasswort:

passwd

Gib zuerst dein aktuelles Passwort und anschließend zweimal dein neues, langes und einmaliges Passwort ein. Bei allen Passworteingaben erscheinen keine Zeichen.

Falls der Administrator dir sudo-Rechte erteilt hat, kannst du diese testen:

sudo whoami

Nach Eingabe des Passworts von projektpmk sollte root erscheinen. sudo kann sich die erfolgreiche Anmeldung für eine kurze Zeit merken.

Falls du für die Systempflege zuständig bist und sudo-Rechte besitzt, kannst du Debian künftig so aktualisieren. Andernfalls übernimmt der Administrator die Updates:

sudo apt update
sudo apt upgrade

Sitzung beenden:

exit

11. Fehler beheben

Als Benutzer kannst du die PuTTY-Einstellungen und den Netzwerkzugang prüfen. Für die folgenden Prüfungen in der Proxmox-Konsole und Änderungen am SSH-Dienst wendest du dich an den Administrator, wenn du selbst keinen administrativen Zugang hast.

„Network error: Connection refused“

Die Verbindung zum SSH-Port wird abgewiesen. Das passiert vor der Anmeldung und liegt nicht am Benutzerpasswort. Häufig ist der SSH-Server nicht installiert, der Dienst läuft nicht oder die Zieladresse ist falsch. Auch eine Firewall kann die Verbindung ausdrücklich zurückweisen.

Prüfe in der Proxmox-Konsole des Containers:

ip -br address
systemctl status ssh --no-pager
ss -ltnp | grep ':22 '

Falls SSH fehlt oder noch nicht gestartet wurde:

apt update
apt install openssh-server -y
systemctl enable --now ssh

Versuche danach die Verbindung mit der bestätigten IP und Port 22 erneut. In unserem Fall funktionierte der Zugriff nach der Installation beziehungsweise dem Start des SSH-Dienstes.

Falls der Dienst nicht starten kann, prüfe:

/usr/sbin/sshd -t
journalctl -u ssh -n 50 --no-pager

Der zweite Befehl zeigt die letzten Protokolleinträge des SSH-Dienstes.

„Connection timed out“

Der Verbindungsversuch erhält innerhalb der Wartezeit keine Antwort. Prüfe:

  • Ist der Container gestartet?
  • Stimmt seine aktuelle IP-Adresse?
  • Kann dein Windows-PC dieses Netzwerk erreichen?
  • Blockiert eine Firewall den Zugriff?

Du kannst auf Windows in PowerShell zusätzlich testen:

Test-NetConnection 192.168.1.30 -Port 22

TcpTestSucceeded : True bedeutet, dass der TCP-Port erreichbar ist. Es bestätigt noch keine erfolgreiche SSH-Anmeldung.

„Access denied“ oder Passwort wird abgelehnt

Prüfe den Benutzernamen, das Passwort und die Tastaturbelegung. In der Proxmox-Konsole kannst du das Passwort neu setzen:

passwd projektpmk

Prüfe außerdem, ob PasswordAuthentication yes und AllowUsers projektpmk wirksam sind, wie in Abschnitt 7 beschrieben.

„No supported authentication methods available“

Wenn der Server nur publickey anbietet, ist die Passwortanmeldung wahrscheinlich noch deaktiviert. Prüfe die wirksame Konfiguration aus Abschnitt 7 und lade sie nach erfolgreicher Prüfung neu.

sudo verweigert Administratorrechte

Kläre zunächst mit dem Administrator, ob du administrative Rechte erhalten sollst. Ein Benutzer kann sich diese Rechte nicht selbst erteilen.

Führe in der Proxmox-Konsole als root aus:

usermod -aG sudo projektpmk

Melde dich anschließend in PuTTY vollständig ab und neu an, damit die neue Gruppenzugehörigkeit übernommen wird.

12. Sicheren Betrieb beibehalten

  • Verwende ein langes, einmaliges Benutzerpasswort, beispielsweise eine zufällig erzeugte Passphrase.
  • Melde dich per SSH als normaler Benutzer an und nutze sudo für administrative Aufgaben.
  • Halte Debian durch regelmäßige Updates aktuell.
  • Gib SSH nicht durch eine Portweiterleitung im Router ins Internet frei. Verwende für Zugriff von unterwegs ein VPN.
  • Begrenze TCP-Port 22 in der Proxmox-Firewall des Containers möglichst auf deinen Windows-PC oder dein Verwaltungsnetz.
  • Lege eine erlaubende Firewall-Regel vor einer blockierenden Regel an. Prüfe die Verbindung, während die Proxmox-Konsole weiterhin geöffnet ist.
  • Beachte bei Proxmox, dass Firewall-Regeln auch tatsächlich aktiviert sein müssen, einschließlich der Firewall-Option an der Container-Netzwerkschnittstelle. Die genaue Einrichtung hängt von deiner Proxmox-Version und bestehenden Regeln ab.
  • Prüfe die Server-Fingerabdrücke bei der ersten Verbindung und bei späteren Änderungswarnungen.

Die Passwortanmeldung ist für ein begrenztes LAN oder VPN praktikabel. Wenn du später auf SSH-Schlüssel wechselst, erhältst du einen stärkeren Schutz gegen Passwortangriffe.

Offizielle Dokumentation

Weiterf?hrender Beitrag

Wie du Entwicklungsumgebungen und reproduzierbare Installationen in deinen Projektablauf einbindest, zeigt KI im technischen Projekt ? Infrastruktur, Konstruktion, Berechnung und Dokumentation.