GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie die passwortlose SSH-Anmeldung unter CentOS 8 / RHEL 8 ein

SSH ist ein Client- und Serverprotokoll und hilft uns beim sicheren Zugriff auf das entfernte System über das Netzwerk durch den verschlüsselten Tunnel. SSH verfügt über einen integrierten Dateiübertragungsmechanismus (SCP) zum Übertragen von Dateien und Verzeichnissen über das Netzwerk und ist viel sicherer als FTP (File Transfer Protocol).

In größeren Umgebungen ist es mühsam, jedes Mal das Passwort einzugeben, um auf Remote-Computer zuzugreifen. Um die Anmeldung zu vereinfachen, können wir die passwortlose SSH-Funktion verwenden, um auf den Remote-Computer zuzugreifen, ohne das Passwort einzugeben.

Hier sehen wir, wie Sie die passwortlose SSH-Anmeldung unter CentOS 8 / RHEL 8 einrichten.

Annahmen

Hier haben wir zwei Maschinen mit zwei unterschiedlichen Benutzernamen.

Hostname IP-Adresse Benutzer Betriebssystem Zweck
server.itzgeek.local 192.168.0.10 raj CentOS 8 / RHEL 8 Quellmaschine
client.itzgeek.local 192.168.0.20 RAM CentOS 8 / RHEL 8 Zielmaschine

Hier verwende ich einen Hostnamen anstelle einer IP-Adresse.

Befolgen Sie die Schritte zum Erstellen der passwortlosen Anmeldung.

Passwortlose SSH-Anmeldung auf CentOS 8 einrichten

Um die kennwortlose SSH-Anmeldung zu aktivieren, müssen wir den öffentlichen Schlüsseleintrag des lokalen Computers in die Datei ~/.ssh/authorized_keys (~ steht für das Home-Verzeichnis des Benutzers) des Remote-Computers einfügen.

Wir können eine passwortlose SSH-Anmeldung auf zwei Arten einrichten. Wählen Sie eine der Möglichkeiten.

  1. Mit dem ssh-copy-id-Befehl
  2. Schlüssel manuell kopieren

Mit dem Befehl ssh-copy-id

Bei dieser Methode wird ein SSH-Schlüsselpaar auf dem Quellcomputer generiert und mit einem einzigen Befehl (ssh-copy-id) auf dem Zielcomputer platziert.

Der Befehl ssh-copy-id hängt den generierten öffentlichen SSH-Schlüssel an vorhandene Schlüssel in der Datei ~/.ssh/authorized_keys auf dem Ziel an. Wenn die Datei ~/.ssh/authorized_keys nicht auf dem Zielcomputer vorhanden ist, erstellt der Befehl sie und platziert den öffentlichen SSH-Schlüssel.

Öffentlichen Schlüssel generieren

Melden Sie sich beim Quellcomputer 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):
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
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:8BuI21rECULGQMs3BtU2o3jHyHghg+p5RE8naQTQP2A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|+**o+..          |
|o=+E X .         |
|.oX+& *          |
|.ooO.X =         |
|. = o * S        |
| o . +   o       |
|  . . o .        |
|     o           |
|    .            |
+----[SHA256]-----+

Nach der Erstellung finden Sie zwei Dateien id_rsa und id_rsa.pub im .ssh-Verzeichnis. Wir werden id_rsa.pub (öffentlicher Schlüssel) für die passwortlose SSH-Anmeldung verwenden.

[raj@server ~]$ ls -al ~/.ssh/

Ausgabe:

total 8
drwx------. 2 raj raj   38 Nov  7 21:50 .
drwx------. 3 raj raj   74 Nov  7 21:50 ..
-rw-------. 1 raj raj 1831 Nov  7 21:50 id_rsa
-rw-r--r--. 1 raj raj  406 Nov  7 21:50 id_rsa.pub

Öffentlichen Schlüssel kopieren

Verwenden Sie den Befehl ssh-copy-id, der im Paket openssh-clients enthalten ist, mit einer Eingabedatei von id_rsa.pub.

[raj@server ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Ausgabe:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/raj/.ssh/id_rsa.pub"
The authenticity of host 'client.itzgeek.local (192.168.0.20)' can't be established.
ECDSA key fingerprint is SHA256:z4TLSbno9MLNF1ucNq4gtMlLQDVgrfLKEt8JguchKdo.
Are you sure you want to continue connecting (yes/no)? yes
/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:

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.

Schlüssel manuell kopieren

Öffentlichen Schlüssel generieren

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):
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
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:8BuI21rECULGQMs3BtU2o3jHyHghg+p5RE8naQTQP2A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|+**o+..          |
|o=+E X .         |
|.oX+& *          |
|.ooO.X =         |
|. = o * S        |
| o . +   o       |
|  . . o .        |
|     o           |
|    .            |
+----[SHA256]-----+

Nach der Erstellung finden Sie zwei Dateien id_rsa und id_rsa.pub im .ssh-Verzeichnis. Wir werden id_rsa.pub (öffentlicher Schlüssel) für die passwortlose SSH-Anmeldung verwenden.

[raj@server ~]$ ls -al ~/.ssh/

Ausgabe:

total 8
drwx------. 2 raj raj   38 Nov  7 21:50 .
drwx------. 3 raj raj   74 Nov  7 21:50 ..
-rw-------. 1 raj raj 1831 Nov  7 21:50 id_rsa
-rw-r--r--. 1 raj raj  406 Nov  7 21:50 id_rsa.pub

Öffentlichen Schlüssel kopieren

Sie 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 in die Datei ~/.ssh/authorized_keys des Zielcomputers einfügen.
Methode 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 den Befehl scp, um die Datei id_rsa.pub in das /tmp-Verzeichnis der Zielmaschine zu kopieren.

[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 öffentlichen Schlü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
Methode 2

Melden Sie sich am Zielcomputer an und erstellen Sie ein .ssh-Verzeichnis im Home-Verzeichnis des Benutzers, falls es noch 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 cat-Befehl an.

[raj@server ~]$ cat ~/.ssh/id_rsa.pub

Ausgabe: (Beispiel)

Kopieren Sie den Inhalt und fügen Sie ihn in die Datei „authorized_keys“ auf dem Ziel ein und speichern Sie ihn.

Aktualisieren Sie dann die Berechtigung der Datei.

[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys

Passwortlose Anmeldung testen

Greifen Sie nun mit dem ssh-Befehl auf den Remote-Rechner zu.

[raj@server ~]$ ssh [email protected]

Jetzt sollten Sie ohne Passwort auf den Remote-Rechner zugreifen können.

Schlussfolgerung

Das ist alles. Ich hoffe, Sie können die passwortlose SSH-Anmeldung unter CentOS 8 / RHEL 8 einrichten. Bitte teilen Sie Ihr Feedback im Kommentarbereich mit.


Cent OS
  1. So richten Sie die SSH-Anmeldung ohne Passwort ein

  2. Anmeldung ohne Passwort SSH – CentOS 6 / RHEL 6

  3. So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 ein

  4. So richten Sie SSH-Schlüssel unter CentOS 8 ein

  5. So richten Sie SSH-Schlüssel für die „kennwortlose“ SSH-Anmeldung unter Linux ein

So richten Sie Jenkins unter CentOS 8 / RHEL 8 ein

So richten Sie Icinga Web 2 unter CentOS 8 / RHEL 8 ein

So richten Sie die passwortlose SSH-Anmeldung unter CentOS 7 / RHEL 7 ein

So richten Sie einen Chef 12 unter CentOS 7 / RHEL 7 ein

So generieren Sie einen SSH-Schlüssel in CentOS 8

So richten Sie die passwortlose SSH-Anmeldung in AlmaLinux ein