So richten Sie SSH -Tasten unter Linux ein

So richten Sie SSH -Tasten unter Linux ein

SSH oder Secure Shell ist ein Protokoll, das verwendet wird, um die Kommunikation zwischen zwei Computern zu ermöglichen und Daten zu teilen. Es bietet eine passwortfähige oder passwortlose (deaktivierte) Authentifizierung und verschlüsselt die Kommunikation zwischen zwei Hosts. Bei der Arbeit mit CentOS -Servern wird die meiste Zeit im Terminal über SSH mit Ihrem Server verknüpft.

In diesem Handbuch konzentrieren wir uns auf die Einrichtung von SSH Keys-basierten Authentifizierung für einen CentOS 8-Server. SSH -Tasten bieten eine einfache und stetige Technik der Kommunikation mit Remote -Servern und werden für alle Benutzer ermutigt.

Erstellen von SSH -Tasten in Linux

Öffnen Sie das Terminal, um ein neues 2048-Bit-RSA-Schlüsselpaar zu generieren und den folgenden Befehl auszuführen:

ssh-keygen  

Nach dem Drücken der Eingabetaste sehen Sie die folgende Ausgabe:

Wenn Sie die Eingabetaste standardmäßig drücken, speichert es das Schlüsselpaar in der .SSH -Unterverzeichnis Ihres Ordners Ihres_Home. Sie können auch den alternativen Pfad angeben, an dem Sie das Schlüsselpaar speichern möchten. Es wird jedoch empfohlen, das Standardverzeichnis zu verwenden, um das Schlüsselpaar zu speichern:

Wenn Sie zuvor ein Schlüsselpaar auf Ihrem Client -Computer erstellt haben, werden Sie aufgefordert, es zu überschreiben. Es liegt ganz bei Ihnen, Ja oder Nein zu wählen, aber achten Sie darauf, die Option "Y" zu wählen. Wenn Sie die Option "Y" auswählen, können Sie das vorherige Schlüsselpaar nicht verwenden, um sich beim Server anzumelden.

Jetzt werden Sie gebeten, eine Passphrase bereitzustellen, um eine zusätzliche Sicherheitsebene hinzuzufügen, die nicht autorisierte Benutzer daran hindert, auf den Server zuzugreifen. Drücken Sie einfach die Eingabetaste, wenn Sie keine Passphrase angeben möchten:

Nach der Bereitstellung der Passphrase sehen Sie die folgende Ausgabe:

Jetzt haben Sie ein SSH-Schlüsselpaar erfolgreich generiert, um diesen Ausführen des folgenden Befehls zu überprüfen:

ls -l ~/.ssh/id_*.Pub  

Der oben angegebene Befehl gibt den Pfad in die Datei aus, die das SSH -Schlüsselpaar enthält. Wenn es einen Fehler wie „keine solche Datei oder Verzeichnis gefunden“ gibt, bedeutet dies, dass das Schlüsselpaar nicht erfolgreich erstellt wurde und Sie den Vorgang erneut wiederholen müssen.

Hinzufügen des SSH -Schlüssels zum Remote -System

Sobald Sie das Schlüsselpaar erstellt haben, müssen Sie den CentOS -Server den SSH -Schlüssel hinzufügen. Der schnellste Weg ist die Verwendung der SSH-Copy-ID-Methode. In einigen Fällen haben Sie möglicherweise nicht die SSH-Copy-ID-Methode auf Ihrer lokalen Maschine verfügbar. In diesem Fall können Sie eine alternative Methode verwenden, um den SSH -Schlüssel zum CentOS -Server hinzuzufügen.

Hinzufügen von SSH -Schlüssel über ssh-copy-id Befehl

Ihre lokale Maschine hat höchstwahrscheinlich die SSH-Copy-ID-Methode standardmäßig. Diese Methode funktioniert nur für den Fall, dass Sie einen passwortbasierten SSH-Zugriff auf den Server haben:

ssh-copy-id [E-Mail geschützt] _Host

Für meinen Server werde ich verwenden:

ssh-copy-id [E-Mail geschützt]  

Die IP -Adresse lautet die IP Ihres Systems, geben Sie Ja ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, das Kennwort des Remote -Benutzers einzugeben:

Sobald der Benutzer alle Schritte ausgeschlossen hat, wird der öffentliche Schlüssel auf den Server kopiert:

Hinzufügen des SSH-Schlüssels ohne SSH-Copy-ID

Wenn Ihre lokale Maschine nicht über die SSH-Copy-ID-Methode installiert ist, die höchst unwahrscheinlich ist, müssen Sie diesen Befehl ausführen, um die SSH-Tasten zum Server hinzuzufügen.

Für meinen lokalen Server werde ich verwenden:

Katze ~/.ssh/id_rsa.Pub | SSH [E -Mail geschützt] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~//.ssh/autorized_keys && chmod 600 ~/.ssh/autorized_keys "  

So melden Sie sich mit SSH -Tasten am Server an

Nachdem Sie den Schlüssel zum Server erfolgreich hinzugefügt haben, sollten Sie sich ohne das Kennwort des Benutzers auf dem Server anmelden können:

$ ssh [E -Mail geschützt] _ip_address

Für meinen Server werde ich den folgenden Befehl verwenden:

SSH [E -Mail geschützt]  

Wenn Sie die Passphrase nicht festgelegt haben, können Sie sich ohne Authentifizierung anmelden. Es ist der schnellste Weg, sich beim Server anzumelden, sonst müssen Sie die Authentifizierungsphase durchlaufen.

Schritt 3 - So deaktivieren Sie die SSH -Kennwortauthentifizierung

Sie können eine zusätzliche Sicherheitsebene hinzufügen, indem Sie die Kennwortauthentifizierung für SSH deaktivieren. Stellen Sie vor dem Beginn des Vorgangs sicher, dass Sie ohne das Kennwort als Stammbenutzer oder als Nicht-Root-Benutzer mit Sudo-Berechtigungen auf Ihren Server zugreifen können.

Um die SSH -Kennwortauthentifizierung zu deaktivieren, melden Sie sich zum ersten Mal beim Server an:

SSH [E -Mail geschützt]  

Jetzt öffnen und ändern wir die SSH -Konfigurationsdatei unter/etc/ssh/sshd_config:

sudo nano/etc/ssh/sshd_config  

Nehmen Sie nach dem Öffnen der Konfigurationsdatei die folgenden Änderungen vor:

PasswortAuthentication -Nr 

Überzeugen Sie die oben gegebenen Zeilen, wenn sie kommentiert werden, indem Sie das # Zeichen entfernen und ihren Wert auf Nein setzen.

Nach der Änderung der SSH -Datei müssen Sie die Datei speichern und schließen, indem Sie Strg + X drücken und den SSH -Dienst mit dem folgenden Befehl neu starten:

sudo systemctl starten sshd neu  

Durch alle Schritte wird die kennwortbasierte Authentifizierung erfolgreich deaktiviert.

Abschluss

SSH ist ein sicheres Netzwerkprotokoll, das für die Kommunikation zwischen einem Remote -Server und einem Client verwendet wird. Es ist sicherer als FTP für Dateiübertragungen zwischen einem Client und einem Server. In diesem Artikel haben wir gelernt, SSH-Schlüsselpaare zu generieren und SSH-basierte Authentifizierung für CentOS 8-basierte Server einzurichten. Wir haben auch gelernt, die SSH-Kennwortauthentifizierung zu deaktivieren.