Dedicated Servers & VPS10. Dezember 2025 56 Aufrufe

Konfigurieren eines SSH-Schlüssels auf einem Linux VPS

Konfigurieren eines SSH-Schlüssels auf einem Linux VPS

Einführung in SSH-Schlüssel

SSH-Schlüssel (Secure Shell) bieten eine wesentlich sicherere Authentifizierungsmethode als herkömmliche Passwörter. Anstatt bei jeder Verbindung ein Passwort einzugeben, verwenden Sie ein Paar kryptografischer Schlüssel:

  • Privater Schlüssel : Verbleibt auf Ihrem lokalen Computer (niemals teilen)
  • Öffentlicher Schlüssel : Auf dem VPS-Server installiert

Beim Verbindungsaufbau überprüft der Server, ob Ihr privater Schlüssel mit dem registrierten öffentlichen Schlüssel übereinstimmt. Wenn die Übereinstimmung bestätigt wird, sind Sie sofort authentifiziert.

Vorteile von SSH-Schlüsseln

Aspekt Passwort SSH-Schlüssel
Sicherheit Anfällig für Brute-Force-Angriffe Praktisch nicht zu knacken
Bequemlichkeit Manuelle Eingabe bei jeder Verbindung Automatische Verbindung
Teilen Risiko bei Offenlegung Öffentlicher Schlüssel ohne Risiko teilbar
Länge Normalerweise 8-20 Zeichen 2048-4096-Bit-Verschlüsselung
Automatisierung Schwer zu skripten Ideal für Skripte

🖥️ Methode 1: Generieren eines SSH-Schlüssels unter Windows mit PuTTY

Schritt 1: PuTTY und PuTTYgen herunterladen

PuTTY ist der beliebteste SSH-Client für Windows. PuTTYgen ist das enthaltene Schlüsselgenerierungsprogramm.

  1. Gehe zur offiziellen Website: https://www.putty.org/
  2. Lade das MSI-Installationspaket herunter (64-Bit oder 32-Bit je nach System)
  3. Installiere PuTTY - PuTTYgen wird automatisch mitinstalliert

Sie können auch nur puttygen.exe herunterladen, wenn Sie bereits PuTTY haben.

Heruntergeladene PuTTYgen-Datei Die heruntergeladene puttygen.exe-Datei

Schritt 2: PuTTYgen starten

  1. Öffne PuTTYgen über :

    • StartmenüAlle ProgrammePuTTYPuTTYgen
    • Oder doppelklicke auf puttygen.exe
  2. Das Schlüsselgenerierungsfenster wird angezeigt:

Hauptfenster von PuTTYgen Hauptfenster von PuTTYgen

Schritt 3: Konfigurieren der Einstellungen

Vor dem Generieren des Schlüssels überprüfen Sie die Einstellungen am unteren Rand des Fensters:

Parameter Empfohlener Wert Beschreibung
Schlüsseltyp RSA oder EdDSA (Ed25519) Verschlüsselungsalgorithmus
Bitanzahl 4096 (RSA) oder 256 (Ed25519) Schlüssellänge

💡 Empfehlung : Für maximale Sicherheit wählen Sie RSA 4096 Bit oder EdDSA (Ed25519), das moderner und leistungsfähiger ist.

Schritt 4: Generieren des Schlüsselpaares

  1. Klicke auf die Schaltfläche Generieren
  2. Wichtig : Bewege deine Maus zufällig im leeren Bereich, um Entropie (kryptografische Zufälligkeit) zu erzeugen

Schlüsselgenerierung - Mausbewegung Bewege deine Maus, um Zufälligkeit zu erzeugen

  1. Warte, bis sich der Fortschrittsbalken füllt

Schritt 5: Konfigurieren und Speichern der Schlüssel

Nach dem Generieren des Schlüssels siehst du dieses Bildschirm:

Generierter SSH-Schlüssel in PuTTYgen Erfolgreich generierter SSH-Schlüssel

Hinzufügen einer Passphrase (empfohlen)

Die Passphrase fügt eine zusätzliche Sicherheitsebene hinzu. Selbst wenn jemand Ihren privaten Schlüssel erhält, kann er ihn ohne die Passphrase nicht verwenden.

Konfiguration der Passphrase Eingabe der Passphrase

  1. In Schlüsselpassphrase gib eine geheime Phrase ein
  2. Bestätige in Passphrase bestätigen

Speichern des privaten Schlüssels

  1. Klicke auf Privaten Schlüssel speichern
  2. Wähle einen sicheren Speicherort
  3. Benenne die Datei (z.B.: mein_vps_schlüssel.ppk)

Speichern des privaten Schlüssels Schaltfläche Privaten Schlüssel speichern

Speichern der PPK-Datei Speichern der .ppk-Datei

Speichern des öffentlichen Schlüssels

  1. Klicke auf Öffentlichen Schlüssel speichern
  2. Benenne die Datei (z.B.: mein_vps_schlüssel.pub)

Speichern des öffentlichen Schlüssels Speichern des öffentlichen Schlüssels

Kopieren des öffentlichen Schlüssels im OpenSSH-Format

Wichtig : Für Linux-Server musst du den Schlüssel im OpenSSH-Format kopieren:

  1. Markiere den gesamten Text im Bereich "Öffentlicher Schlüssel zum Einfügen in die OpenSSH authorized_keys-Datei"
  2. Kopiere ihn (Strg+C)
  3. Behalte ihn für den nächsten Schritt bei

Das Format sieht so aus:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDx... rsa-key-20241210

Schritt 6: Konfigurieren von PuTTY zur Verwendung des Schlüssels

  1. Öffne PuTTY
  2. Im linken Menü navigiere zu: VerbindungSSHAuthentifizierungAnmeldeinformationen

Konfiguration der Anmeldeinformationen in PuTTY Bereich Anmeldeinformationen in PuTTY

  1. Klicke auf Durchsuchen neben "Private Schlüsseldatei für die Authentifizierung"

Durchsuchen-Schaltfläche für den privaten Schlüssel Auswahl des privaten Schlüssels

  1. Wähle deine Datei .ppk

Auswahl der PPK-Datei Ausgewählte .ppk-Datei

  1. Gehe zurück zu Sitzung, gib die IP deines VPS ein und speichere die Sitzung

🐧 Methode 2: Generieren eines SSH-Schlüssels unter Linux/macOS

Schritt 1: Terminal öffnen

  • Linux : Strg+Alt+T oder suche "Terminal"
  • macOS : Programme → Dienstprogramme → Terminal

Schritt 2: Generieren des Schlüsselpaares

Option A : RSA 4096-Bit-Schlüssel (universal kompatibel)

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Option B : Ed25519-Schlüssel (empfohlen, moderner)

ssh-keygen -t ed25519 -C "[email protected]"

Schritt 3: Befolge die Anweisungen

Generierung eines öffentlichen/privaten ed25519-Schlüsselpaares.
Geben Sie den Dateinamen ein, in dem der Schlüssel gespeichert werden soll (/home/benutzer/.ssh/id_ed25519):
  1. Speicherort : Drücken Sie die Eingabetaste, um den Standardort zu akzeptieren (~/.ssh/id_ed25519)
Passwort eingeben (leer für kein Passwort):
Passwort erneut eingeben:
  1. Passwort : Geben Sie ein geheimes Passwort ein (empfohlen) oder drücken Sie die Eingabetaste für keins

Schritt 4: Überprüfen der Erstellung

ls -la ~/.ssh/

Sie sollten sehen:

  • id_ed25519 (oder id_rsa) - Privater Schlüssel
  • id_ed25519.pub (oder id_rsa.pub) - Öffentlicher Schlüssel

Schritt 5: Anzeigen des öffentlichen Schlüssels

cat ~/.ssh/id_ed25519.pub

Ergebnis:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... [email protected]

Kopieren Sie diese Zeile vollständig, um sie auf dem Server zu installieren.


🚀 Installieren des öffentlichen Schlüssels auf dem VPS

Methode 1: Mit ssh-copy-id (Linux/macOS - Empfohlen)

Der Befehl ssh-copy-id automatisiert die Installation:

ssh-copy-id -i ~/.ssh/id_ed25519.pub benutzer@VPS_IP

Beispiel:

ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]

Sie müssen Ihr Passwort ein letztes Mal eingeben. Danach wird der Schlüssel automatisch installiert.

Methode 2: Manuelle Installation

Falls ssh-copy-id nicht verfügbar ist:

Schritt 1: Verbindung zum VPS mit Passwort

ssh root@VPS_IP

Schritt 2: Erstellen des .ssh-Verzeichnisses (falls erforderlich)

mkdir -p ~/.ssh
chmod 700 ~/.ssh

Schritt 3: Erstellen/Bearbeiten der authorized_keys-Datei

nano ~/.ssh/authorized_keys

Schritt 4: Einfügen des öffentlichen Schlüssels

Fügen Sie den zuvor kopierten öffentlichen Schlüssel ein (eine Zeile).

Für PuTTY ist es der Inhalt von "Public key for pasting into OpenSSH authorized_keys file".

Schritt 5: Speichern und Berechtigungen festlegen

chmod 600 ~/.ssh/authorized_keys

Schritt 6: Verbindung testen

Melden Sie sich ab und wieder an:

exit
ssh root@VPS_IP

Wenn alles funktioniert, werden Sie ohne Passwort verbunden sein (oder mit Ihrem Passwort, falls Sie eins festgelegt haben).

Methode 3: In einem Befehl (von Ihrem lokalen PC aus)

cat ~/.ssh/id_ed25519.pub | ssh root@VPS_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

🔒 Absichern des SSH-Servers

Nach Konfiguration der SSH-Schlüssel erhöhen Sie die Sicherheit, indem Sie die Passwortauthentifizierung deaktivieren.

Schritt 1: SSH-Konfiguration bearbeiten

sudo nano /etc/ssh/sshd_config

Schritt 2: Parameter ändern

Suchen und ändern Sie diese Zeilen:

# Deaktivieren der Passwortauthentifizierung
PasswordAuthentication no

# Leere Passwörter deaktivieren
PermitEmptyPasswords no

# Öffentliche Schlüsselauthentifizierung aktivieren
PubkeyAuthentication yes

# Challenge-Response-Authentifizierung deaktivieren
ChallengeResponseAuthentication no

# Optional: Root-Anmeldung deaktivieren (erstellen Sie zuerst einen sudo-Benutzer)
# PermitRootLogin no

Schritt 3: SSH-Dienst neu starten

sudo systemctl restart sshd

⚠️ Achtung : Behalten Sie eine SSH-Sitzung während der Tests geöffnet! Bei falscher Konfiguration könnten Sie den Zugriff verlieren.


🛠️ Verwaltung von SSH-Schlüsseln

Hinzufügen mehrerer Schlüssel

Sie können mehrere Schlüssel (mehrere Computer, mehrere Benutzer) autorisieren:

nano ~/.ssh/authorized_keys

Fügen Sie einen Schlüssel pro Zeile hinzu.

Entfernen eines Schlüssels

Bearbeiten Sie authorized_keys und entfernen Sie die Zeile, die dem Schlüssel entspricht.

Passphrase eines vorhandenen Schlüssels ändern

ssh-keygen -p -f ~/.ssh/id_ed25519

Fingerprint eines Schlüssels anzeigen

ssh-keygen -lf ~/.ssh/id_ed25519.pub

🔄 Konvertieren von Schlüsselformaten

PPK zu OpenSSH (PuTTY → Linux)

In PuTTYgen:

  1. Laden Sie Ihre .ppk-Datei mit Load
  2. Gehen Sie zu ConversionsExport OpenSSH key
  3. Speichern Sie die Datei

OpenSSH zu PPK (Linux → PuTTY)

In PuTTYgen:

  1. Gehen Sie zu ConversionsImport key
  2. Wählen Sie Ihren privaten OpenSSH-Schlüssel aus (id_rsa oder id_ed25519)
  3. Klicken Sie auf Save private key

🔧 Fehlerbehebung

"Permission denied (publickey)"

Mögliche Ursachen :

  • Öffentlicher Schlüssel nicht auf dem Server installiert
  • Falsche Berechtigungen für .ssh oder authorized_keys
  • Falscher privater Schlüssel verwendet

Lösungen :

# Berechtigungen überprüfen (auf dem Server)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

# Überprüfen, ob der Schlüssel in authorized_keys vorhanden ist
cat ~/.ssh/authorized_keys

"Connection refused"

Mögliche Ursachen :

  • SSH-Dienst nicht gestartet
  • Firewall blockiert Port 22

Lösungen :

# SSH-Status überprüfen
sudo systemctl status sshd

# Bei Bedarf neu starten
sudo systemctl start sshd

# Firewall überprüfen
sudo ufw status
sudo ufw allow 22

"Host key verification failed"

Der Server wurde geändert (Neuinstallation, neue IP). Löschen Sie den alten Eintrag:

ssh-keygen -R VPS_IP

Passphrase wird bei jeder Verbindung angefordert

Verwenden Sie ssh-agent, um die Passphrase zu speichern:

# Agent starten
eval "$(ssh-agent -s)"

# Schlüssel hinzufügen
ssh-add ~/.ssh/id_ed25519

📋 Zusammenfassung der Befehle

Aktion Befehl
Generiere RSA 4096 Schlüssel ssh-keygen -t rsa -b 4096
Generiere Ed25519 Schlüssel ssh-keygen -t ed25519
Kopiere Schlüssel zum Server ssh-copy-id -i ~/.ssh/id_ed25519.pub benutzer@IP
Zeige öffentlichen Schlüssel an cat ~/.ssh/id_ed25519.pub
Teste Verbindung verbose ssh -v benutzer@IP
Ändere Passphrase ssh-keygen -p -f ~/.ssh/id_ed25519
Zeige Fingerprint an ssh-keygen -lf ~/.ssh/id_ed25519.pub

📁 Struktur der SSH-Dateien

~/.ssh/
├── authorized_keys      # Autorisierte öffentliche Schlüssel (auf dem Server)
├── id_ed25519          # Privater Ed25519-Schlüssel (auf dem Client)
├── id_ed25519.pub      # Öffentlicher Ed25519-Schlüssel (auf dem Client)
├── id_rsa              # Privater RSA-Schlüssel (auf dem Client)
├── id_rsa.pub          # Öffentlicher RSA-Schlüssel (auf dem Client)
├── known_hosts         # Fingerabdrücke bekannter Server
└── config              # Benutzerdefinierte Konfiguration (optional)

Erforderliche Berechtigungen

Datei/Verzeichnis Berechtigung Befehl
~/.ssh/ 700 chmod 700 ~/.ssh
authorized_keys 600 chmod 600 ~/.ssh/authorized_keys
Privater Schlüssel 600 chmod 600 ~/.ssh/id_ed25519
Öffentlicher Schlüssel 644 chmod 644 ~/.ssh/id_ed25519.pub

💡 Best Practices

  1. Verwenden Sie Ed25519 für neue Schlüssel (sicherer und leistungsfähiger als RSA)

  2. Legen Sie immer eine Passphrase fest für Ihre privaten Schlüssel

  3. Teilen Sie niemals Ihren privaten Schlüssel - nur der öffentliche Schlüssel sollte kopiert werden

  4. Sichern Sie Ihre Schlüssel an einem sicheren Ort (Passwort-Manager, Safe)

  5. Verwenden Sie unterschiedliche Schlüssel für verschiedene Zwecke (Arbeit, persönlich, kritische Server)

  6. Deaktivieren Sie die Passwortauthentifizierung, sobald die Schlüssel konfiguriert sind

  7. Überprüfen Sie regelmäßig die Datei authorized_keys, um ungenutzte Schlüssel zu entfernen

  8. Wechseln Sie regelmäßig Ihre Schlüssel (mindestens alle 1-2 Jahre)


❓ FAQ

Was ist der Unterschied zwischen RSA und Ed25519 ?

Aspekt RSA Ed25519
Sicherheit Hervorragend (4096 Bits) Hervorragend (256 Bits)
Leistung Langsamer Schneller
Schlüsselgröße Groß Klein
Kompatibilität Universal Sehr gut (nach 2014)

Empfehlung : Ed25519 für neue Bereitstellungen, RSA für die Kompatibilität mit älteren Systemen.

Kann ich denselben Schlüssel für mehrere Server verwenden ?

Ja, Sie können denselben öffentlichen Schlüssel auf mehreren Servern installieren. Verwenden Sie jedoch für optimale Sicherheit unterschiedliche Schlüssel für kritische Umgebungen.

Wie füge ich einen Kommentar zu meinem Schlüssel hinzu ?

Der Parameter -C ermöglicht das Hinzufügen eines Kommentars :

ssh-keygen -t ed25519 -C "laptop-travail-2024"

Verfallen SSH-Schlüssel ?

Nein, SSH-Schlüssel haben kein integriertes Ablaufdatum. Es liegt an Ihnen, sie regelmäßig zu aktualisieren.