Die automatische Passwrod-less SSH-Anmeldung kann unser Leben erleichtern. Um dies zu aktivieren, haben wir zwei Möglichkeiten: Verwenden der schlüsselbasierten Authentifizierung durch Kopieren unserer öffentlichen SSH-Schlüssel auf die Remotecomputer zur automatischen kennwortlosen Anmeldung oder Verwenden der kennwortbasierten Authentifizierung. Ich werde die 2 Optionen in der Post vorstellen. Bevor Sie beginnen, beachten Sie bitte, dass die schlüsselbasierte Authentifizierung im Allgemeinen empfohlen wird, wenn Ihre Arbeitsumgebung dies zulässt.,
Inhaltsverzeichnis
In diesem Beitrag stellen wir zwei Methoden vor: Verwenden des Befehls ssh-copy-id und des manuellen Weges.
SSH-Schlüsselpaar generieren
Wenn Sie noch kein privates / öffentliches SSH-Schlüsselpaar haben, können Sie zuerst eines generieren.
$ ssh-keygen -t rsa
Standardmäßig wird das Schlüsselpaar unter Linux in ~/.ssh
mit dem Namen id_rsa
und id_rsa.pub
für den privaten und öffentlichen Schlüssel gespeichert.,
Öffentlichen SSH-Schlüssel auf den Remote-Computer kopieren
Hier haben Sie zwei Möglichkeiten. Wenn Sie die ssh-copy-id
– Methode nicht verwenden können, können Sie den „manuellen“ Weg versuchen.
Der einfachste Weg
Lassen Sie ssh-copy-id dies automatisch tun:
$ ssh-copy-id username@remotemachine
Wenn Sie mehrere Schlüssel in Ihrem ~/.ssh
– Verzeichnis haben, müssen Sie möglicherweise -i key_file
verwenden, um anzugeben, welchen Schlüssel Sie verwenden möchten.,
Der manuelle Weg
Kopieren Sie den öffentlichen SSH-Schlüssel auf den Remotecomputer
$ scp .ssh/id_rsa.pub username@remotemachine:/tmp/
Melden Sie sich auf dem Remotecomputer an
$ ssh username@remotemachine
Hängen Sie Ihren öffentlichen SSH-Schlüssel an ~/an.ssh/authorized_keys
Stellen Sie sicher, dass der Modus von“~/.ssh / authorized_keys ist 755:
$ chmod 755 ~/.ssh/authorized_keys
Mögliche Probleme
Einige mögliche Probleme, die Sie daran hindern, eine kennwortlose Anmeldung erfolgreich einzurichten.,
Verzeichnis / Dateiberechtigungen
Home directory
Überprüfen Sie die Berechtigung des Home-Verzeichnisses, die zum Fehlschlagen der schlüsselbasierten Anmeldung führen kann (angenommen, das Home-Verzeichnis ist /home / zma):
# chmod 700 /home/zma/
~/.ssh Erlaubnis
Stellen Sie sicher, dass die .die Berechtigung des ssh-Verzeichnisses ist 755:
$ chmod 755 ~/.ssh/
~/.ssh/authroized_keys Berechtigung
Stellen Sie sicher, die .ssh-Verzeichnis-Berechtigung 755:
$ chmod 755 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/id_rsa$ chmod 700 ~/.ssh/id_rsa.pub
Passwort-basiert „password-less“ ssh-login
Diese Methode, die Anmeldung und Authentifizierung ist immer noch durch ein Passwort geschützt., Wir verwenden jedoch ein Tool, mit dem wir das Passwort automatisch eingeben können. Das Tool ist sshpass
was gut funktioniert.
Die Verwendung ist sehr einfach, indem Sie das Passwort in der Befehlszeile angeben:
$ sshpass -p "your_password_here" ssh username@remotemachine
oder indem Sie das Passwort in der ersten Zeile einer Datei angeben
$ sshpass -f /path/to/file_storing_your_password ssh username@remotemachine
Sicherheitsüberlegungen: Bevor Sie die sshpass
verwenden, lesen Sie bitte den Abschnitt „SICHERHEITSÜBERLEGUNGEN“ der sshpass
Manpage, um die Sicherheitsprobleme zu kennen und sie nur zu verwenden, wenn Sie sie tolerieren können.,