Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Authentifizierung zwischen OpenSSH Client und OpenSSH Server

&pagelevel(4)&pagelevel

Bei Verwendung des Default-Wertes für die Option PreferredAuthentication in der Client-Konfigurationsdatei ssh_config (siehe „InterNet Services Benutzerhandbuch“) führt der OpenSSH Client der Reihe nach folgende Authentifizierungsmethoden durch:

  1. hostbased-Authentifizierung

  2. Public Key-Authentifizierung

  3. Passwort-Authentifizierung

Die Verfahren werden der Reihe nach angewendet, bis ein Verfahren erfolgreich authentifiziert hat bzw. bis alle Verfahren gescheitert sind.

Alternativ oder zusätzlich kann die Authentifizierung auch mit OpenPAM durchgeführt werden, siehe Abschnitt Authentifizierung und Konfiguration von OpenPAM.

Die Public Key-Authentifizierung gestattet die Verwendung von RSA-, DSA-, ECDSA- und Ed25519-Algorithmen. Der OpenSSH Client signiert die Session-Id (zusammen mit anderen Daten) mit seinem privaten Schlüssel ($HOME/.ssh/id_rsa, $HOME/.ssh/id_dsa, $HOME/.ssh/id_ecdsa oder $HOME/.ssh/id_ed25519) und sendet das Ergebnis an den OpenSSH Server. Der Server prüft, ob in der Datei <user home>/.ssh/authorized_keys ein passender öffentliche Schlüssel enthalten ist. Dabei ist <user home> das Home-Verzeichnis desjenigen Users, mit dessen Kennung sich der ssh-Aufrufer anmelden will. Wenn ja, dann nimmt der Server die Verbindung an.

Der OpenSSH-Client ssh authentifiziert den Server, indem er nachschaut, ob zum jeweiligen System in der Datei $HOME/.ssh/known_hosts des Users bzw. in der vom Systemadministrator zentral bereitgestellten Datei /etc/ssh/ssh_known_hosts ein öffentlicher Schlüssel hinterlegt ist, und wenn ja, ob dieser mit dem vom sshd gesendeten Host-Key gleichen Typs (RSA/DSA/ECDSA/Ed25519) übereinstimmt.

Die Option StrictHostKeyChecking in der Konfigurationsdatei ssh_config steuert das Verhalten des Clients für den Fall, dass in den known_hosts-Dateien kein passender Eintrag gefunden wird:

  • Bei no wird der bislang unbekannte Host-Key ohne Nachfrage in $HOME/.ssh/known_hosts eingetragen.

  • Bei ask wird der Benutzer gefragt, ob der Host-Key eingetragen werden soll.

  • Bei yes wird der Host-Key nie vom Client eingetragen, sondern muss vom Anwender bzw. vom Systemadministrator in die jeweilige known_hosts-Datei eingetragen werden.

Eine ausführliche Beschreibung der Option StrictHostKeyChecking finden Sie auf den Man Pages von OpenSSH.