Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Passwortfreier Login unter Linux (super detailliert)

Passwortfreier Login unter Linux (super detailliert)

不言
不言Original
2018-06-05 14:56:285570Durchsuche

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_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 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!

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