Hier ist ein kurzer Hinweis zum Konfigurieren von passwortlosen Anmeldungen zwischen 2 Linux-Systemen. Der Prozess beinhaltet im Wesentlichen das Generieren eines öffentlichen Authentifizierungsschlüssels und das Anhängen an die Remote-Hosts~/.ssh/authorized_keys Datei.
Authentifizierungsschlüssel generieren
Wenn keine SSH-Authentifizierungsschlüsseldatei vorhanden ist, generieren Sie eine, indem Sie den Befehl ssh-keygen ausführen., Wenn Sie zur Eingabe einer Passphrase aufgefordert werden, verwenden Sie eine leere Passphrase, wenn eine kennwortlose Anmeldung erforderlich ist:
Kopieren Sie den öffentlichen Schlüssel auf den Remote-Host
Verwenden Sie den Befehl ssh-copy-id, um die öffentliche Hälfte des neu generierten Authentifizierungsschlüssels in das Home-Verzeichnis eines bestimmten Benutzers auf dem Remote-Host zu installieren. Der Befehl ssh-copy-id fügt dann automatisch die Identitätsinformationen an ~/an.ssh/authorized_keys-Datei für den angegebenen Benutzer auf dem remote-host (erstellen ~/.ssh und~/.ssh/authorized_keys falls erforderlich).,
# ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-hostuser@remote-hosts's password:
Alternativ, wenn der Server nicht mit openssh-Clients installiert ist (ein Paket, das ssh-copy-id command utility bereitstellt), können Sie den Authentifizierungsschlüssel mit dem Befehl kopieren:
# cat ~/.ssh/id_rsa.pub | ssh user@remote-host "cat >> ~/.ssh/authorized_keys"
Wenn alles richtig konfiguriert ist, sollten Sie sich ohne Passwort beim Remote-Host anmelden können.,
Überprüfen Sie auf die richtigen Berechtigungen
Die häufigste Ursache für Probleme mit Schlüssel-basierte SSH-Authentifizierung zu arbeiten ist Dateiberechtigungen auf dem Remote-SSH-Server
Wenn die obigen Schritte befolgt wurden und ssh ‚ ing an den entsprechenden Benutzer immer noch nach Passwörtern fragt, überprüfen Sie die Berechtigungen für die lokalen und Remote-Benutzer-Dateien. Die Berechtigungen der Verzeichnisse sollten genau wie unten gezeigt sein., Das hier gezeigte Beispiel ist für den Benutzer „oracle“
Wenn die Berechtigungen nicht als show abover sind, legen Sie sie korrekt fest :
# chmod 600 ~/.ssh/authorized_keyschmod 700 ~/.ssh/
Starten Sie den sshd-Dienst neu, damit die Änderungen wirksam werden :
# service sshd restart
Das Deaktivieren von SELinux
SELinux kann sshd vom Zugriff auf das ~/.ssh-Verzeichnis auf dem server. Dieses Problem kann ausgeschlossen (oder behoben) werden, indem restorecon wie folgt auf dem ~/des Remote-Benutzers ausgeführt wird.ssh-Verzeichnis:
# restorecon -Rv ~/.ssh