Heim > Artikel > Betrieb und Instandhaltung > Passwortfreier Login unter Linux (super detailliert)
Dieser Artikel stellt hauptsächlich die relevanten Informationen zum passwortfreien Login unter Linux vor. Er ist sehr gut und hat Referenzwert. Interessierte sollten einen Blick darauf werfen
1. Linux Generieren Sie Schlüssel unter
ssh-keygen-Befehlshandbuch, über den Befehl „man ssh-keygen“:
Über den Befehl „ ssh-keygen -t rsa „
“ Nach der Generierung wird ein „.ssh“-Ordner im Stammverzeichnis des Benutzers generiert
Durch Eingabe von „.ssh“ werden die folgenden Dateien generiert:
Authorized_keys: speichert den öffentlichen Schlüssel für die passwortfreie Remote-Anmeldung. Diese Datei wird hauptsächlich verwendet Zeichnen Sie die Informationen mehrerer Maschinen auf
id_rsa: generierte private Schlüsseldatei
id_rsa.pub: generierte öffentliche Schlüsseldatei
know_hosts: bekannte Liste der öffentlichen 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 muss 700 sein
2 ) .ssh/authorized_keys-Dateiberechtigungen müssen 600 sein
2. Remote-Anmeldung ohne Passwort
Schema:
Folgende Methoden werden häufig verwendet:
Befehl: ssh-copy-id -i ~/.ssh/id_rsa.put fe1be4b6c1a31021ce15f9d3346405e5
Beispiel:
[root@test .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135 root@192.168.91.135's password: Now try logging into the machine, with "ssh '192.168.91.135'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [root@test .ssh]# ssh root@192.168.91.135 Last login: Mon Oct 10 01:25:49 2016 from 192.168.91.133 [root@localhost ~]#Häufige Fehler:
-bash: ssh-copy-id: Befehl nicht gefunden // Eingabeaufforderungsbefehl 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@721b019b2c3c3f62b979c6ee04afb641:/root/.ssh/authorized_keysBeispiel:
[root@test .ssh]# scp -p ~/.ssh/id_rsa.pub root@192.168.91.135:/root/.ssh/authorized_keys root@192.168.91.135's password: id_rsa.pub 100% 408 0.4KB/s 00:00 [root@test .ssh]# [root@test .ssh]# [root@test .ssh]# [root@test .ssh]# ssh root@192.168.91.135 Last login: Mon Oct 10 01:27:02 2016 from 192.168.91.133 [root@localhost ~]#
kann auch in zwei Schritte unterteilt werden:
$ scp ~/.ssh/id_rsa.pub root@721b019b2c3c3f62b979c6ee04afb641:pub_key //Kopiere die Datei auf den Remote-Server $ cat ~/pub_key >>~/.ssh/authorized_keys //Kopieren Sie den Inhalt. Hängen Sie ihn an die Datei „authorized_keys“ an. Sie müssen sich jedoch beim Remote-Server anmelden, um diesen Befehl auszuführen
2.3 Batch-Passwortausnahme über Ansible implementieren
2.3.1 Fügen Sie die Maschinenhosts, die passwortfreie Vorgänge erfordern, zu /etc/ansible/hosts hinzu:
[Schließen Sie schließen] 192.168.91.132 192.168.91.133
192.168.91.134
2.3.2 Execute-Befehl für die kennwortfreie Operation
2.3.2 Execute-Befehl für kennwortfreie Operation
>ansible 4179fd5bdbf839b03206a46852a78368 -m autorisierter_schlüssel -a "user=root key='{{ lookup ('file','/root/.ssh/id_rsa.pub') }}'" -k
Beispiel:
[root@test sshpass-1.05]# ansible test -m authorized_key -a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k SSH password: ----->输入密码 192.168.91.135 | success >> { "changed": true, "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArZI4kxlYuw7j1nt5ueIpTPWfGBJoZ8Mb02OJHR8yGW7A3izwT3/uhkK7RkaGavBbAlprp5bxp3i0TyNxa/apBQG5NiqhYO8YCuiGYGsQAGwZCBlNLF3gq1/18B6FV5moE/8yTbFA4dBQahdtVP PejLlSAbb5ZoGK8AtLlcRq49IENoXB99tnFVn3gMM0aX24ido1ZF9RfRWzfYF7bVsLsrIiMPmVNe5KaGL9kZ0svzoZ708yjWQQCEYWp0m+sODbtGPC34HMGAHjFlsC/SJffLuT/ug/hhCJUYeExHIkJF8OyvfC6DeF7ArI6zdKER7D8M0SM WQmpKUltj2nltuv3w== root@localhost.localdomain", "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 die Inhalte der lokalen Datei id_rsa.pub in die Datei ~/.ssh/authorized_keys des Remote-Servers
Das obige ist der detaillierte Inhalt vonPasswortfreier Login unter Linux (super detailliert). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!