Heim >php教程 >PHP开发 >Passwortfreie Anmeldung unter Linux

Passwortfreie Anmeldung unter Linux

高洛峰
高洛峰Original
2016-10-12 16:14:001332Durchsuche

1. Schlüssel unter Linux generieren

ssh-keygen-Befehlshandbuch, über den Befehl „man ssh-keygen“:

Passwortfreie Anmeldung unter Linux

Über den Befehl „ ssh-keygen -t rsa "

Passwortfreie Anmeldung unter Linux

Nach der Generierung wird ein „.ssh“-Ordner im Stammverzeichnis des Benutzers generiert

Passwortfreie Anmeldung unter Linux

Durch Eingabe von „.ssh“ werden die folgenden Dateien generiert

Passwortfreie Anmeldung unter Linux

Die Datei zeichnet die öffentlichen Schlüssel mehrerer Maschinen auf

id_rsa: die generierte private Schlüsseldatei

id_rsa.pub: die generierte öffentliche Schlüsseldatei
know_hosts: die Liste bekannter öffentlicher Hostschlüssel

Wenn Sie möchten, dass der öffentliche SSH-Schlüssel wirksam ist, müssen mindestens die folgenden zwei Bedingungen erfüllt sein:

 1) Die Berechtigungen des .ssh-Verzeichnisses müssen 700 sein

2) Die Berechtigungen der .ssh/authorized_keys-Datei müssen 600 sein


2. Remote-Anmeldung ohne Passwort

Prinzipdiagramm:

Passwortfreie Anmeldung unter Linux   

   Die folgenden Methoden werden häufig verwendet:

  2.1 Via ssh- Copy-id-Methode

Befehl: ssh-copy-id -i ~/.ssh/id_rsa.put

Beispiel:

[root@test ]# ssh-copy -id -i ~/.ssh/id_rsa.pub 192.168.91.135

root@192.168.91.135's Passwort:

Versuchen Sie nun, sich mit „ssh '192.168.91.135 '“ am Computer anzumelden, und checken Sie ein :

.ssh/authorized_keys

um sicherzustellen, dass wir keine zusätzlichen Schlüssel hinzugefügt haben, die Sie nicht erwartet haben.

[root@test .ssh]# ssh root 192.168.91.135 @test ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135

    -bash: ssh-copy-id: Befehl nicht gefunden //Eingabeaufforderung Der Befehl existiert nicht

Lösung: yum -y install openssh-clients

2.2 Schreiben Sie den Inhalt über scp in die Datei der anderen Partei

Befehl: scp - p ~/.ssh/id_rsa.pub root@

:/root/.ssh/authorized_keys

Beispiel:

[root@test .ssh]# scp -p ~/. ssh/id_rsa.pub root@192.168.91.135:/root/.ssh/authorized_keys
root@192.168.91.135's Passwort:

id_rsa.pub 100 % 408 0,4 KB/s 00: 00

[ root@test .ssh]# [root@test .ssh]#

[root@test .ssh]#

[root@test .ssh]# ssh root@192.135

Zuletzt Anmeldung: Mo, 10. Okt. 01:27:02 2016 von 192.168.91.133




[root@localhost ~]#



Es kann auch sein In zwei Schritte unterteilt:

$ scp ~/.ssh/id_rsa.pub root@

:pub_key //Kopiere die Datei auf den Remote-Server

$ cat ~/pub_key >> ~/. ssh/Authorized_keys // Fügen Sie den Inhalt zur Datei „Authorized_keys“ hinzu, melden Sie sich jedoch beim Remote-Server an, um diesen Befehl auszuführen

2.3, um Batch-Geheimnisse über Ansible zu erhalten

2.3.1 Fügen Sie die Maschinenhosts, die passwortfreie Vorgänge erfordern, zu /etc/ansible/hosts hinzu:
 [Schließen vermeiden]
 192.168.91.132
 192.168.91.133
 192.168.91.134

2.3.2 Befehle für passwortfreie Vorgänge ausführen

  ansible -mauthorized_key -a "user=root key='{{ lookup('file','/root/. ssh/id_rsa.pub') }}'" -k

Beispiel:
 [root@test sshpass-1.05]# ansible test -m autorisierter_schlüssel -a "user=root key='{{ lookup ('file','/root/.ssh/id_rsa.pub') }}'" -k
SSH-Passwort: ----->Passwort eingeben
192.168.91.135 | Erfolg >> {
„geändert“: wahr,
„Schlüssel“: „ssh-rsa QG5NiqhYO8YCuiGYGsQAGwZCBlNLF3gq1/18B6FV5moE/8yTbFA4dBQahdtVP. PejLlSAbb5ZoGK8AtLlcRq49IENoXB99tnFVn3gMM0aX24ido1ZF9RfRW zfYF7bVsLsrIiMPmVNe5KaGL9kZ „key_options“ „: null,
„keyfile“: „/root/.ssh/authorized_keys“,
„manage_dir“: true,
„path“: null,
„state“: „present“,
 „unique“: false,
 „user“: „root“
 }
 [root@test sshpass-1.05]#

2.4 Manuelle Kopier- und Einfügemethode

Kopieren Sie den Inhalt der lokalen Datei id_rsa.pub in ~/.ssh/authorized_keys des Remote-Servers Datei


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn