Wie richte ich die Public-Key-Authentifizierung für SSH ein?Wie konfiguriere ich die Public-Key-Authentifizierung?
Antwort
Wenn Sie SSH installiert haben, sollten Sie in der Lage sein ..
ssh-keygen
Dann durch die einzelnen Schritte gehen zu laufen, Sie Ich habe zwei Dateien, id_rsa
und id_rsa.pub
(der erste ist Ihr privater Schlüssel, der zweite ist Ihr öffentlicher Schlüssel - der, den Sie auf den entfernten Rechner kopieren s)
Verbinden Sie sich dann mit dem Remote-Computer, an dem Sie sich anmelden möchten, und fügen Sie den Inhalt Ihrer id_rsa.pub
Datei in die Datei ~/.ssh/authorized_keys
ein.
Oh, und chmod 600
alle id_rsa*
Dateien (sowohl lokal als auch remote), so dass keine anderen Benutzer sie lesen können:
chmod 600 ~/.ssh/id_rsa*
In ähnlicher Weise ist die Remote-~/.ssh/authorized_keys
Datei sichern chmod 600
auch:
chmod 600 ~/.ssh/authorized_keys
Dann, wenn Sie ssh remote.machine
tun, sollte es Sie für das Passwort des Schlüssels, nicht die Remote-Maschine fragen.
Um es schöneres, verwenden Sie ssh-agent
können die entschlüsselten Schlüssel im Speicher zu halten - das heißt, Sie müssen Ihre Keypair das Passwort jedes Mal nicht geben. Um den Agenten zu starten, Sie (einschließlich der Back-tick Anführungszeichen, die den Ausgang des ssh-agent
Befehl eval) laufen
`ssh-agent`
Auf einigen Distributionen, ssh-agent wird automatisch gestartet. Wenn Sie echo $SSH_AUTH_SOCK
ausführen und es einen Pfad (wahrscheinlich in/tmp /) zeigt, ist es bereits eingerichtet, so dass Sie den vorherigen Befehl überspringen können.
Dann wird Ihr Schlüssel hinzuzufügen, tun Sie
ssh-add ~/.ssh/id_rsa
und Ihr Passwort eingeben. Es wird gespeichert, bis Sie es entfernen (mit dem ssh-add -D
Befehl, der alle Schlüssel aus dem Agenten entfernt)
Für Fenster this ist eine gute Einführung und Führung
Hier sind einige gute ssh-Agenten für andere Systeme als Linux.
- Fenster - pageant
- OS X - SSHKeychain
Wenn Sie den Ordner .ssh erstellen müssen nicht 600 wie ich oder Sie haben eine schlechte Zeit haben . Setzen Sie es stattdessen auf 700. :-) –
Kann ich mich von einem unbekannten Rechner mit dem privaten Schlüssel anmelden, der für den bekannten/konfigurierten Client zur Kommunikation mit dem Server generiert wurde? Ich meine, ist dieser private Schlüssel tragbar und könnte verwendet werden, um mich von anderen Maschinen zum Server zu authentifizieren, im Notfall? –
@ user01 Ja, Sie können den privaten Schlüssel in mehrere Systeme kopieren und auf einen anderen Server mit dem entsprechenden öffentlichen Schlüssel zugreifen. –