Neben den Konfigurationsdateien (siehe "OpenSSH Client konfigurieren") verwendet der OpenSSH Client ssh weitere Dateien, die nachfolgend beschrieben sind.
$HOME/.ssh/known_hosts
Diese Datei enthält für alle Hosts, auf denen sich der Benutzer eingeloggt hat, die zugehörigen Host-Keys, sofern diese nicht in der Datei /etc/ssh/ssh_known_hosts enthalten sind.
Die benutzerspezifischen Dateien $HOME/.ssh/known_hosts können je nach Einstellung der StrictHostKeyChecking-Option in der ssh_config-Datei automatisch gepflegt (unbekannte Rechner werden beim Erstkontakt automatisch eingetragen) oder müssen manuell versorgt werden.
$HOME/.ssh/id_rsa
$HOME/.ssh/id_dsa
$HOME/.ssh/id_ecdsa
$HOME/.ssh/id_ed25519
Diese Dateien enthalten die Authentifizierungsdaten des Benutzers, d.h. den privaten DSA- bzw. RSA-Schlüssel. Die Dateien enthalten sicherheitsrelevante Daten und dürfen nur für den Eigentümer lesbar sein. Alle anderen Benutzer dürfen für die Dateien weder Lese-, Schreib- noch Ausführungsberechtigung besitzen. Beachten Sie, dass ssh private Schlüssel ignoriert, wenn diese für andere Benutzer zugänglich sind. Beim Erzeugen des Schlüssels können Sie eine Passphrase spezifizieren, durch die der sensible Teil der Dateien mit AES verschlüsselt wird.
$HOME/.ssh/id_rsa.pub
$HOME/.ssh/id_dsa.pub
$HOME/.ssh/id_ecdsa.pub
$HOME/.ssh/id_ed25519.pub
Diese Dateien enthalten im Klartext den öffentlichen Schlüssel für die Authentifizierung, also den öffentlichen Teil der Dateien $HOME/.ssh/id_rsa, $HOME/.ssh/id_dsa, $HOME/.ssh/id_ecdsa und $HOME/.ssh/id_ed25519:
Der Inhalt der Dateien $HOME/.ssh/id_rsa.pub, $HOME/.ssh/id_dsa.pub, $HOME/.ssh/id_ecdsa.pub und $HOME/.ssh/id_ed25519.pub sollte auf allen Rechnern, auf denen sich der Benutzer via RSA/DSA/ECDSA/Ed25519 authentifizieren und einloggen möchte, zur Datei $HOME/.ssh/authorized_keys hinzugefügt werden.
Die Dateien $HOME/.ssh/id_rsa.pub, $HOME/.ssh/id_dsa.pub, $HOME/.ssh/id_ecdsa.pub und $HOME/.ssh/id_ed25519.pub enthalten keine sensiblen Daten und können (müssen aber nicht) allgemein lesbar sein. Da diese Dateien nie automatisch verwendet werden, sind sie nicht zwingend erforderlich, sondern werden dem Benutzer lediglich zur Vereinfachung des Handlings angeboten.
$HOME/.ssh/authorized_keys
Diese Datei enthält alle öffentlichen Schlüssel (RSA/DSA/ECDSA/Ed25519), die der Benutzer für das Login verwenden kann. Das Dateiformat ist unter sshd(8) auf den Man Pages von OpenSSH beschrieben. In der einfachsten Form entspricht das Format von $HOME/.ssh/authorized_keys dem Format der Dateien $HOME/.ssh/id_rsa.pub, $HOME/.ssh/id_dsa.pub, $HOME/.ssh/id_ecdsa.pub und $HOME/.ssh/id_ed25519.pub.
Diese Datei darf nur durch den Benutzer beschreibbar sein, Lesen durch Dritte ist unkritisch. Dennoch empfiehlt es sich, die Datei insgesamt (lesen und schreiben) nur für den Benutzer zugänglich zu machen. Für alle anderen Benutzer sollte die Datei unzugänglich sein.
/etc/ssh/ssh_known_hosts
Diese Datei enthält eine Liste aller systemweit bekannten Host-Keys. Der Systemadministrator sollte die Datei für die Aufnahme der öffentlichen Host-Keys aller in der Organisation verfügbaren Rechner vorbereiten. Die Datei sollte allgemein lesbar sein.
Jede Datei-Zeile enthält folgende Bestandteile, die durch Leerzeichen voneinander getrennt sind:
Name(n) des Host; mehrere Namen für denselben Host werden durch Kommas getrennt angegeben
öffentlicher Schlüssel
Kommentar (optional).
Das Dateiformat ist unter sshd(8) auf den Man Pages von OpenSSH beschrieben.
Der Client verwendet diese Datei neben der benutzerspezifischen Datei $HOME/.ssh/known_hosts, um sicherzustellen, dass er mit dem beabsichtigten fernen Rechner verbunden ist.
/etc/ssh/ssh_host_rsa_key/etc/ssh/ssh_host_dsa_key/etc/ssh/ssh_host_ecdsa_key/etc/ssh/ssh_host_ed25519_key
Diese Dateien enthalten die privaten Bestandteile der Host-Keys und werden für die rhost-Authentifizierung (Hostbased Authentication) verwendet:
Bei rhosts-Authentifizierung (siehe "Authentifizierung zwischen OpenSSH Client und Server") verwendet ssh das Utility ssh-keysign für den Zugriff auf den Host-Key. (ssh-keysign(8) ist auf den Man Pages von OpenSSH beschrieben). Die effektive (setuid) Benutzerkennung von ssh muss dann nicht zwingend die Root-Berechtigung sein. Standardmäßig hat ssh nicht die Root-Rerechtigung als effektive Berechtigung.
$HOME/.rhosts
Diese Datei enthält eine Auflistung der für ein Login zulässigen Host-/Benutzer-Paare, die bei der rhosts-Authentifizierung benötigt wird. Beachten Sie, dass diese Datei auch von rlogin und rsh verwendet wird und deshalb nicht sicher ist.
Jede Zeile der Datei $HOME/.rhosts enthält einen Host-Namen in der kanonischen Form (wie er vom Name Server geliefert wird) und einen Benutzernamen auf diesem Host. Host-Name und Benutzername sind durch ein Leerzeichen getrennt.
Wenn das Home-Verzeichnis des Benutzers auf einer NFS-Partition liegt, kann es sein, dass die Datei auf manchen Rechnern allgemein lesbar sein muss, da der Server-Dämon sshd die Datei als Root liest. Zusätzlich muss der Benutzer Eigentümer dieser Datei sein und kein anderer Benutzer darf Schreibrechte für diese Datei besitzen. Für die meisten Rechner ist die empfohlene Berechtigung lesen/schreiben für den Benutzer und kein Zugriffsrecht für alle anderen Benutzer.
sshd ist standardmäßig so eingestellt, dass er die rhosts-Authentifizierung erst nach erfolgreichem Absolvieren einer RSA-Host-Authentifizierung zulässt. Wenn der Host-Key des Clients nicht in der Datei /etc/ssh/ssh_known_hosts auf dem Server-Rechner vorhanden ist, kann der Host-Key in der Datei $HOME/.ssh/known_hosts gespeichert werden. Dies erfolgt am einfachsten dadurch, dass mithilfe von ssh eine Verbindung vom Server-Rechner zurück zum Client eingerichtet wird. Dadurch wird der Host-Key automatisch in $HOME/.ssh/known_hosts gespeichert.
$HOME/.shosts
Diese Datei wird genau so verwendet wie $HOME/.rhosts. Mit der Datei $HOME/.shosts kann man die rhost-Authentifizierung anwenden, ohne damit ein Login via rlogin oder rsh zuzulassen.
/etc/hosts.equiv
Diese Datei wird während der rhosts-Authentifizierung verwendet. Sie enthält die Host-Namen in der kanonischen Form. Pro Zeile ist ein Host-Name enthalten. Eine vollständige Beschreibung finden Sie unter sshd (8) auf den Man Pages von OpenSSH. Wenn der Host des Clients in der Datei verzeichnet ist und der Benutzername bei Client und Server übereinstimmt, wird automatisch das Login erlaubt, sofern nicht zusätzlich eine erfolgreiche RSA-host-Authentifizierung erforderlich ist. Letzteres ist meist der Fall. Die Datei sollte nur für Benutzer mit Root-Berechtigung schreibbar sein.
/etc/ssh/shosts.equiv
Diese Datei wird identisch verwendet wie die Datei /etc/hosts.equiv. /etc/ssh/shosts.equiv kann hilfreich sein, um ein Login mit ssh, nicht jedoch mit rsh oder rlogin zu erlauben.
/etc/ssh/sshrc
Diese Datei enthält Kommandos, die ssh beim Einloggen des Benutzers ausführt, bevor die Benutzer-Shell (oder das Benutzerkommando) gestartet wird (siehe hierzu auch Abschnitt „Login Session und Kommando-Ausführung auf einem fernen Rechner“). Eine vollständige Beschreibung der Datei /etc/ssh/sshrc finden Sie unter sshd(8) auf den Man Pages von OpenSSH.
$HOME/.ssh/rc
Diese Datei enthält Kommandos, die ssh beim Einloggen des Benutzers ausführt, bevor die Benutzer-Shell (oder das Benutzerkommando) gestartet wird (siehe hierzu auch Abschnitt „Login Session und Kommando-Ausführung auf einem fernen Rechner“). Eine vollständige Beschreibung der Datei $HOME/.ssh/rc finden Sie unter sshd(8) auf den Man Pages von OpenSSH.
$HOME/.ssh/environment
Die Datei enthält zusätzliche Definitionen für Umgebungsvariablen.