SSH ist ein Client- und Serverprotokoll und hilft uns, über den verschlüsselten Tunnel über das Netzwerk auf das Remote-System zuzugreifen. Immer wenn der Client-Computer auf den Server zugreift, auf dem SSH ausgeführt wird, lädt der Client den sicheren Schlüssel vom Server herunter, und gleichzeitig lädt der Server auch den Schlüssel vom Client herunter. Diese beiden Schlüssel stellen den verschlüsselten Tunnel zwischen Server und Client her, sodass die Datenübertragung sehr sicher über das Netzwerk erfolgt.
Wenn die Organisation über eine große Anzahl von Servern verfügt, muss der Administrator jedes Mal das Kennwort eingeben, um auf das Remote-System zuzugreifen. Es ist mühsam, das Passwort mehrmals einzugeben; SSH verfügt über eine neue Funktion namens passwortlose Anmeldung, mit der Sie auf den Remote-Computer zugreifen können, ohne das Passwort einzugeben.
Annahmen
Hier haben wir zwei Maschinen mit zwei unterschiedlichen Benutzernamen.
Hostname | IP-Adresse | Benutzer | Betriebssystem | Zweck |
---|---|---|---|---|
server.itzgeek.local | 192.168.1.10 | raj | CentOS 7 / RHEL 7 | Quellmaschine |
client.itzgeek.local | 192.168.1.20 | RAM | CentOS 7 / RHEL 7 | Zielmaschine |
Hier verwende ich einen Hostnamen anstelle einer IP-Adresse.
Befolgen Sie die Schritte zum Erstellen der passwortlosen Anmeldung.
Passwortlose SSH-Anmeldung auf CentOS 7 einrichten
Um die passwortlose Anmeldung zu aktivieren, müssen wir den öffentlichen Schlüsseleintrag des Client-Rechners in die Datei ~/.ssh/authorized_keys (~ steht für das Home-Verzeichnis des Benutzers) des Servers einfügen.
Wir können eine passwortlose SSH-Anmeldung auf zwei Arten einrichten. Wählen Sie eine der Methoden aus.
- Automatisch – (empfohlen)
- Handbuch
Methode 1:(Automatisch)
Bei dieser Methode wird ein SSH-Schlüsselpaar auf dem Quellcomputer generiert und mit einem einzigen Befehl auf dem Zielcomputer abgelegt.
Melden Sie sich beim Quellcomputer an und erstellen Sie mit dem folgenden ssh-keygen-Befehl ein SSH-Schlüsselpaar.
[raj@server ~]$ ssh-keygen
Ausgabe:
Generating public/private rsa key pair. Enter file in which to save the key (/home/raj/.ssh/id_rsa): << Press Enter Created directory '/home/raj/.ssh'. Enter passphrase (empty for no passphrase): << Press Enter Enter same passphrase again: << Press Enter Your identification has been saved in /home/raj/.ssh/id_rsa. Your public key has been saved in /home/raj/.ssh/id_rsa.pub. The key fingerprint is: SHA256:0oqVhWQzIV+hFFHkquVCTihmORqtt+vXHIXhhXoIosI [email protected] The key's randomart image is: +---[RSA 2048]----+ | . XB=. | |. . *oB. | |o. . +++o | |oE..o +=. | |+=o o.*.S | |++.+ *.o | |o . =oo. | | . ...o | | .+o | +----[SHA256]-----+
Nach der Erstellung finden Sie zwei Dateien id_rsa und id_rsa.pub im .ssh-Verzeichnis. Wir werden id_rsa.pub für die passwortlose Anmeldung verwenden.
[raj@server ~]$ ls -al ~/.ssh/
Ausgabe:
total 8 drwx------. 2 raj raj 38 Sep 6 00:37 . drwx------. 3 raj raj 74 Sep 6 00:37 .. -rw-------. 1 raj raj 1675 Sep 6 00:37 id_rsa -rw-r–r–. 1 raj raj 406 Sep 6 00:37 id_rsa.pub
Verwenden Sie den Befehl ssh-copy-id mit einer Eingabedatei von id_rsa.pub.
[raj@server ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]Der Befehl ssh-copy-id erstellt ~/.ssh/authorized_keys auf dem Zielcomputer, wenn die Datei dies nicht tut. Andernfalls würde ssh-copy-id den neuen Schlüssel an vorhandene Schlüssel anhängen.
Ausgabe:
The authenticity of host 'client.itzgeek.local (192.168.1.20)' can't be established. ECDSA key fingerprint is SHA256:sueTz6FURcKDbeyGkpE7lUHOaosW/rkkvlG18v98T7Y. ECDSA key fingerprint is MD5:f7:39:52:7e:2e:a4:20:84:ff:d7:72:21:20:36:91:76. Are you sure you want to continue connecting (yes/no)? yes << Type Yes and Press Enter /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys [email protected]'s password: << Enter password of destination machine user (ram) Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.
Methode 2:(Manuell)
Bei dieser Methode wird ein SSH-Schlüsselpaar auf dem Quellcomputer generiert und auf dem Zielcomputer abgelegt, indem Sie sich manuell dort anmelden.
Melden Sie sich zuerst bei der Quellmaschine an und erstellen Sie mit dem folgenden Befehl ein SSH-Schlüsselpaar.
[raj@server ~]$ ssh-keygen
Ausgabe:
Generating public/private rsa key pair. Enter file in which to save the key (/home/raj/.ssh/id_rsa): << Press Enter Created directory '/home/raj/.ssh'. Enter passphrase (empty for no passphrase): << Press Enter Enter same passphrase again: << Press Enter Your identification has been saved in /home/raj/.ssh/id_rsa. Your public key has been saved in /home/raj/.ssh/id_rsa.pub. The key fingerprint is: SHA256:0oqVhWQzIV+hFFHkquVCTihmORqtt+vXHIXhhXoIosI [email protected] The key's randomart image is: +---[RSA 2048]----+ | . XB=. | |. . *oB. | |o. . +++o | |oE..o +=. | |+=o o.*.S | |++.+ *.o | |o . =oo. | | . ...o | | .+o | +----[SHA256]-----+
Sobald Sie erstellt haben, finden Sie zwei Dateien id_rsa und id_rsa.pub im .ssh-Verzeichnis. Wir werden id_rsa.pub für die passwortlose Anmeldung verwenden.
[raj@server ~]$ ls -al ~/.ssh/
Ausgabe:
total 8 drwx------. 2 raj raj 38 Sep 6 00:37 . drwx------. 3 raj raj 74 Sep 6 00:37 .. -rw-------. 1 raj raj 1675 Sep 6 00:37 id_rsa -rw-r--r--. 1 raj raj 406 Sep 6 00:37 id_rsa.pubSie können den Befehl scp verwenden, um die Datei id_rsa.pub zum Ziel zu kopieren, oder den Inhalt der Datei id_rsa.pub kopieren und auf dem Zielcomputer einfügen (Datei ~/.ssh/authorized_keys).
Kopiermethode:1
Melden Sie sich am Zielcomputer an und erstellen Sie das .ssh-Verzeichnis im Home-Verzeichnis des Benutzers, falls es nicht existiert.
[ram@client ~]$ mkdir ~/.ssh [ram@client ~]$ chmod 700 ~/.ssh
Verwenden Sie das scp Befehl zum Kopieren der id_rsa.pub in das Verzeichnis /tmp des Zielrechners Verzeichnis.
[raj@server ~]$ scp -pr ~/.ssh/id_rsa.pub [email protected]:/tmp
Sie müssten das Passwort für das Ziel eingeben, da wir die passwortlose Anmeldung noch konfigurieren müssen.
Legen Sie den Quellschlüssel für eine passwortlose Anmeldung in der Datei „authorized_keys“ ab.
[ram@client ~]$ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys
Aktualisieren Sie die Berechtigung der Datei.
[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys
Kopiermethode:2
Melden Sie sich am Zielcomputer an und erstellen Sie das .ssh-Verzeichnis im Home-Verzeichnis des Benutzers, falls es nicht existiert.
[ram@client ~]$ mkdir ~/.ssh [ram@client ~]$ chmod 700 ~/.ssh
Bearbeiten Sie die Datei „authorized_keys“.
[ram@client ~]$ vi ~/.ssh/authorized_keys
Zeigen Sie auf der Quellmaschine den Inhalt der Datei id_rsa.pub mit dem Befehl cat an. Kopieren Sie den Inhalt, indem Sie ihn auswählen (vorausgesetzt, Sie verwenden PUTTY).
[raj@server ~]$ cat ~/.ssh/id_rsa.pub
Ausgabe: (Beispiel)
Platzieren Sie den obigen Inhalt in der Datei „authorized_keys“ auf dem Ziel und speichern Sie ihn. Aktualisieren Sie dann die Berechtigung der Datei.
[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys
Passwortlose Anmeldung testen
Greifen Sie nun über SSH auf den Remote-Computer zu. Es bringt Sie direkt zur Shell, ohne nach dem Passwort zu fragen.
[raj@server ~]$ ssh [email protected] [ram@client ~]$ uname -a
Schlussfolgerung
Das ist alles. Diese passwortlose Anmeldung spart Zeit und Energie für Systemadministratoren. Bitte teilen Sie uns Ihr Feedback im Kommentarbereich mit.