1. Schlüssel unter Linux generieren
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
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:
Die folgenden Methoden werden häufig verwendet:
2.1 Via ssh- Copy-id-Methode
Befehl: ssh-copy-id -i ~/.ssh/id_rsa.put
[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:
[ 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
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