Thema: Einrichtung von SSH-Key-Authentifizierung
Version: 1.0
Autor: Jack-Mike Säring
Datum: 15.07.2025
1. Zielsetzung
Diese Anleitung beschreibt die Erstellung eines SSH-Schlüsselpaares sowie die Konfiguration der passwortlosen Authentifizierung zwischen einem Client-Rechner und einem Zielsystem mittels OpenSSH. Ziel ist es, SSH-Zugriffe ohne Passwortabfrage zu ermöglichen.
2. Voraussetzungen
– OpenSSH-Client ist auf dem Client-System installiert (ssh, ssh-keygen)
– Zugriff per SSH auf das Zielsystem mit gültigen Benutzerdaten
– Schreibrechte im Home-Verzeichnis des Ziel-Benutzers
3. Erstellung des SSH-Schlüsselpaares
Auf dem Client-System wird ein RSA-Schlüsselpaar erzeugt:
ssh-keygen -t rsa -b 4096 -C „benutzer@example.com“
Eingabeaufforderungen:
– Speicherort: Standard ist ~/.ssh/id_rsa, mit Enter bestätigen
– Passphrase: Optional, kann leer gelassen werden
Ergebnis:
– Privater Schlüssel: ~/.ssh/id_rsa
– Öffentlicher Schlüssel: ~/.ssh/id_rsa.pub
Der private Schlüssel darf nicht weitergegeben oder verschoben werden.
4. Übertragung des öffentlichen Schlüssels auf das Zielsystem
Da ssh-copy-id nicht auf allen Systemen vorhanden ist, erfolgt die Übertragung manuell.
4.1 Öffentlichen Schlüssel anzeigen
cat ~/.ssh/id_rsa.pub
Den gesamten Inhalt in die Zwischenablage kopieren.
4.2 Verbindung zum Zielsystem
ssh benutzer@zielsystem
4.3 SSH-Verzeichnis und Datei vorbereiten
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
Den kopierten öffentlichen Schlüssel am Ende der Datei einfügen (oder Datei neu anlegen, falls nicht vorhanden), dann speichern und schließen.
chmod 600 ~/.ssh/authorized_keys
5. Test der SSH-Verbindung
ssh benutzer@zielsystem
Wenn die Konfiguration korrekt durchgeführt wurde, erfolgt die Anmeldung ohne Passwortabfrage.
6. Optional: Passwort-Authentifizierung auf dem Zielsystem deaktivieren
Zur Erhöhung der Sicherheit kann die Passwortanmeldung deaktiviert werden. Dies erfordert root- oder sudo-Rechte auf dem Zielsystem.
6.1 SSH-Server-Konfiguration bearbeiten
sudo nano /etc/ssh/sshd_config
Folgende Parameter setzen oder anpassen:
PasswordAuthentication no
PubkeyAuthentication yes
6.2 SSH-Dienst neu starten
sudo systemctl restart ssh
Achtung: Vorher sicherstellen, dass die Schlüsselanmeldung funktioniert, um keinen Ausschluss vom System zu riskieren.
7. Hinweise
– Die Berechtigungen im Verzeichnis .ssh und der Datei authorized_keys müssen korrekt gesetzt sein, da sonst die Schlüsselverwendung vom SSH-Daemon blockiert wird.
– Der private Schlüssel darf niemals weitergegeben oder unverschlüsselt übertragen werden.
– Für produktive Systeme sollte der Schlüssel durch eine Passphrase geschützt werden.
8. Fehlerbehebung
Problem | Mögliche Ursache | Lösung |
Schlüssel wird ignoriert | Falsche Berechtigungen | chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys |
Passwort wird weiter abgefragt | Schlüssel nicht korrekt übertragen | Inhalt von id_rsa.pub prüfen, Eintrag in authorized_keys überprüfen |
Verbindung verweigert | SSH-Dienst nicht aktiv | sudo systemctl status ssh auf dem Zielsystem prüfen |