Die Passphrase, die für den privaten Schlüssel festgelegt werden kann, hängt nicht mit dem SSH-Server oder der Verbindung zu diesem zusammen. Das Festlegen einer Passphrase für den privaten Schlüssel ist lediglich eine Sicherheitsmaßnahme, die der Schlüsselbesitzer ergreifen kann, um den Zugriff Dritter auf seine Remote-Shell zu verhindern, falls der private Schlüssel gestohlen wird.
Leider können Sie Benutzer nicht zwingen, ihre privaten Schlüssel mit Passphrasen zu sichern. Manchmal sind ungeschützte private Schlüssel erforderlich, um den Zugriff auf den Remote-SSH-Server zu automatisieren. Eine gute Gewohnheit , die ich sehr empfehlen für solche Fälle ist es, die Nutzer zu beraten Hash der known_hosts - Datei (gespeichert in ~ / .ssh / known_hosts ), die Informationen über die entfernten Hosts der Benutzer eine Verbindung zu, mit dem folgenden Befehl hält:
ssh-keygen -H -f ~/.ssh/known_hosts
Selbst wenn ein Dritter Zugriff auf einen ungeschützten privaten Schlüssel erhält, ist es auf diese Weise äußerst schwierig herauszufinden, für welche Remote-Hosts dieser Schlüssel gültig ist. Das Löschen des Shell-Verlaufs ist natürlich obligatorisch, damit diese Technik einen beliebigen Wert hat.
Außerdem sollten Sie immer berücksichtigen, dass sich root nicht remote anmelden kann, indem Sie Folgendes in die Konfiguration Ihres SSH-Servers (sshd_config) einfügen:
PermitRootLogin no
Wenn Sie andererseits verhindern möchten, dass Benutzer Schlüssel zur Authentifizierung verwenden, aber stattdessen Kennwörter verwenden, sollten Sie Ihrer sshd_config Folgendes hinzufügen :
PasswordAuthentication yes
PubkeyAuthentication no