GNU/Linux >> LINUX-Kenntnisse >  >> Rocky Linux

So richten Sie die passwortlose SSH-Anmeldung in Rocky Linux ein

SSH Schlüssel sind kryptografische Schlüssel, die zum Authentifizieren und Sichern des Datenverkehrs oder der Kommunikation zwischen zwei Servern oder Systemen verwendet werden. Sie bieten eine sicherere Authentifizierungsmethode im Gegensatz zur herkömmlichen Passwortauthentifizierung, die anfällig für Brute-Force-Angriffe ist.

In diesem Tutorial führen wir Sie durch die Einrichtung von SSH-Schlüsseln unter Rocky Linux .

Erstellen Sie ein RSA-SSH-Schlüsselpaar in Rocky Linux

Beginnen Sie mit der Erstellung einer RSA Schlüsselpaar auf unserem lokalen System führen Sie den folgenden Befehl aus:

$ ssh-keygen
OR
$ ssh-keygen -t rsa 

Standardmäßig wird dadurch eine 2048-Bit-RSA erstellt Schlüsselpaar, das als sicher genug angesehen wird, um den Datenverkehr zwischen dem Client und dem Remote-Host zu verschlüsseln.

Optional können Sie eine 4096-Bit-Datei erstellen Schlüsselpaar, das größer und sicherer ist, indem Sie den -b übergeben Option wie folgt:

$ ssh-keygen -b 4096

Nach dem Ausführen von ssh-keygen Befehl, folgt eine Reihe von Eingabeaufforderungen. Zunächst müssen Sie die Datei angeben, in der die Schlüssel gespeichert werden. Standardmäßig werden die Schlüssel im ~/.ssh gespeichert Verzeichnis in Ihrem Home-Verzeichnis. Sie können Ihre benutzerdefinierte Datei definieren, aber in dieser Abbildung verwenden wir die Standardwerte

Drücken Sie also ENTER um die Schlüssel in ~/.ssh zu speichern Verzeichnis in Ihrem Home-Verzeichnis.

Wenn bereits SSH-Schlüssel vorhanden sind, erhalten Sie die folgende Aufforderung und Sie werden aufgefordert, sie zu überschreiben. Hier ist Vorsicht geboten. Das Überschreiben der Schlüssel bedeutet, dass eine Authentifizierung mit den vorherigen Schlüsseln nicht möglich ist. Wählen Sie „Ja“ zerstört die aktuellen Schlüssel und generiert neue.

Als nächstes werden Sie dann nach einer Passphrase gefragt. Dies ist ein optionaler Schritt und bietet eine zusätzliche Schutzebene, um unbefugte Benutzer daran zu hindern, die Schlüssel zur Authentifizierung zu verwenden. Sie können dieses Feld jedoch leer lassen, wenn Sie die passwortlose SSH-Authentifizierung zwischen Ihrem lokalen System und anderen Remote-Hosts konfigurieren möchten.

Wir lassen dies vorerst leer und drücken ENTER .

Schließlich wird das SSH-Schlüsselpaar (public und privat Schlüssel) werden auf Ihrem lokalen System unter dem angegebenen Pfad gespeichert. Dies ist die Ausgabe, die nach erfolgreicher Befehlsausführung generiert wird.

Mit den Standardoptionen wird die SSH Schlüssel werden in ~/.ssh gespeichert Verzeichnis in Ihrem Home-Verzeichnis. Um dies zu bestätigen, führen Sie den folgenden Befehl aus:

$ ls -la ~/.ssh
  • Die id_rsa ist der private Schlüssel und sollte geheim und vertraulich behandelt werden. Die Weitergabe kann zu einem ernsthaften Angriff auf Ihren Remote-Server führen.
  • Die id_rsa.pub ist der öffentliche Schlüssel und wird auf dem Remote-Host gespeichert, mit dem Sie sich verbinden möchten.

Mit SSH Schlüssel erfolgreich erstellt, ist der nächste Schritt das Speichern der Öffentlichkeit Schlüssel zum Remote-System bereit zur Authentifizierung.

Kopieren Sie den öffentlichen SSH-Schlüssel auf den Remote-Linux-Server

Die ssh-copy-id Der Befehl bietet eine einfache und bequeme Möglichkeit, den öffentlichen SSH-Schlüssel auf einen Remote-Host zu kopieren. Es nimmt die folgende Syntax an:

$ ssh-copy-id user@remote-host-ip-address

Wir haben ein Remote-System mit einem regulären Benutzer namens bob bereits konfiguriert. Führen Sie den folgenden Befehl aus, um den öffentlichen SSH-Schlüssel zu kopieren:

$ ssh-copy-id [email protected]

Wenn Sie sich zum ersten Mal mit dem Host verbinden, sehen Sie die folgende Ausgabe. Um fortzufahren, geben Sie ‘yes’ ein und drücken Sie ENTER, um fortzufahren.

Der Befehl durchsucht Ihr lokales System nach dem öffentlichen Schlüssel id_rsa.pub und sobald es seine Präsenz hergestellt hat, fordert es Sie zur Eingabe des Passworts des entfernten Benutzers auf.

Geben Sie das Passwort ein und drücken Sie ENTER . Der öffentliche Schlüssel wird auf dem entfernten Host in ~/.ssh/authorized_keys kopiert Datei. Wir kommen später darauf zurück.

Auf Ihrem lokalen System die Datei ~/.ssh/known_hosts Datei erstellt wird. Dies ist eine Datei, die die SSH-Fingerabdrücke für entfernte Hosts enthält, mit denen Sie sich verbunden haben.

Um die Datei anzuzeigen, führen Sie einfach den folgenden Befehl aus:

$ cat ~/.ssh/known_hosts

Passwortlose Verbindung zu Remote-Linux

An diesem Punkt sollten Sie sich ohne Passwort beim Remote-Host anmelden können. Um es auszuprobieren, melden Sie sich ganz normal an.

$ ssh [email protected]

Diesmal werden Sie sofort zur Shell des Remote-Hosts weitergeleitet.

Wie bereits erwähnt, wird der öffentliche Schlüssel in den authorized_keys gespeichert Datei auf dem Remote-Host. Sie können dies wie gezeigt bestätigen.

$ ls -la ~/.ssh/

Um die Datei anzuzeigen, verwenden Sie den cat-Befehl wie folgt.

$ cat ~/.ssh/authorized_keys 

SSH-Passwortauthentifizierung deaktivieren

Die SSH Die Public-Key-Authentifizierung wurde erfolgreich eingerichtet. Die Passwort-Authentifizierung ist jedoch immer noch aktiv, was Ihren Remote-Host anfällig für Brute-Force-Angriffe macht.

Daher wird dringend empfohlen, die Passwortauthentifizierung zu deaktivieren. Melden Sie sich jetzt entweder mit dem Root- oder dem Sudo-Benutzer wieder beim Remote-Host an. Öffnen Sie dann die sshd_config Konfigurationsdatei.

$ sudo vim /etc/ssh/sshd_config

Scrollen Sie nach unten und suchen Sie PasswordAuthentication Richtlinie. Wenn es auskommentiert ist, kommentieren Sie es aus und setzen Sie es auf 'no' .

PasswordAuthentication no

Speichern Sie die Änderungen und beenden Sie die Datei.

Um die vorgenommenen Änderungen zu übernehmen, starten Sie sshd neu Daemon wie gezeigt.

$ sudo systemctl restart sshd

Zu diesem Zeitpunkt wurde die SSH-Passwort-Authentifizierung auf dem Remote-Server deaktiviert und der Zugriff auf den Remote-Server kann nur über die Public-Key-Authentifizierung erfolgen.

Wir haben SSH erfolgreich konfiguriert schlüsselbasierte Authentifizierung auf dem Remote-Host, mit der Sie sich ohne Passwort anmelden können. Dies ist die sicherste Art, sich bei entfernten Hosts anzumelden, vorausgesetzt, der private Schlüssel bleibt vertraulich und geheim.


Rocky Linux
  1. Anleitung zum Einrichten einer privaten Docker-Registrierung unter Rocky Linux 8

  2. So richten Sie die SSH-Anmeldung ohne Passwort ein

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

  4. So richten Sie SSH-Schlüssel für die „kennwortlose“ SSH-Anmeldung unter CentOS/RHEL ein

  5. So richten Sie SSH-Schlüssel für die SSH-Anmeldung mit „öffentlichen/privaten Schlüsseln“ unter Linux ein

So installieren Sie Rocky Linux 8.4

So richten Sie die Multi-Faktor-Authentifizierung für SSH unter Linux ein

So deaktivieren Sie die SSH-Anmeldung für einen bestimmten Benutzer in Linux

So richten Sie die passwortlose SSH-Anmeldung in AlmaLinux ein

So aktivieren Sie den SSH-Dienst unter Rocky Linux 8 / CentOS 8

So richten Sie SSH-Schlüssel unter Debian 11 Linux ein