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

Wie generiert und verwendet man einen SSH-Schlüssel in einem Linux-System?

Heute geben wir eine kurze Beschreibung, wie man SSH-Schlüssel im Linux-System generiert und verwendet.

Wie generiert man den SSH-Schlüssel auf einem Linux-System?

Ein SSH-Schlüssel ist ein Zugangsnachweis für das SSH-Netzwerkprotokoll (Secure Shell). Dieses sichere Netzwerkprotokoll für Authentifizierung und Verschlüsselung wird für die Fernkommunikation zwischen Computern in einem ungesicherten offenen Netzwerk verwendet.

Mit anderen Worten können wir sagen, dass ein SSH-Schlüssel ein sicherer Zugangsnachweis ist, der in der sicheren Shell verwendet wird ( SSH)-Protokoll. SSH-Schlüssel verwenden Schlüsselpaare, die auf der Public-Key-Infrastrukturtechnologie basieren, dem Goldstandard für die digitale Identitätsauthentifizierung und -verschlüsselung, um eine sichere und skalierbare Authentifizierungsmethode bereitzustellen.

Wie funktioniert die Authentifizierung mit einem SSH-Schlüsselpaar?

Das SSH-Schlüsselpaar wird verwendet, um die Identität eines Benutzers oder Prozesses zu authentifizieren, der über das SSH-Protokoll auf ein entferntes System zugreifen möchte. Der öffentliche SSH-Schlüssel wird sowohl vom Benutzer als auch vom Remote-Server verwendet und zum Verschlüsseln von Nachrichten verwendet.

Auf der Seite des Remote-Servers wird der öffentliche Schlüssel in einer Datei gespeichert, die eine Liste aller autorisierten enthält öffentliche Schlüssel. Auf Benutzerseite wird der öffentliche Schlüssel in einer SSH-Schlüsselverwaltungssoftware oder in einer Datei auf seinem Computer gespeichert. Der private Schlüssel verbleibt nur auf dem System, das für den Zugriff auf den Remote-Server verwendet wird, und wird zum Entschlüsseln von Nachrichten verwendet.

Wenn ein Benutzer oder Prozess über den SSH-Client eine Verbindung zum Remote-Server anfordert, wird eine Challenge- Antwortsequenz wird eingeleitet, um die Authentifizierung abzuschließen. Der SSH-Server erkennt, dass eine Verbindung angefordert wird, und sendet eine verschlüsselte Challenge-Anfrage unter Verwendung der gemeinsam genutzten öffentlichen Schlüsselinformationen.

Der SSH-Client entschlüsselt dann die Challenge-Nachricht und antwortet zurück an den SSH-Server. Der Benutzer oder Prozess muss korrekt auf die Abfrage reagieren, um Zugriff zu erhalten. Diese Challenge-Response-Sequenz findet automatisch zwischen dem SSH-Client und dem SSH-Server statt, ohne dass der Benutzer manuell eingreifen muss.

In dieser Anleitung konzentrieren wir uns auf die Einrichtung des SSH-Schlüssels für das Ubuntu-System. Sie können diese Schritte verwenden, um den SSH-Schlüssel in allen Linux-Umgebungen einzurichten. SSH-Schlüssel bieten eine unkomplizierte und sichere Möglichkeit, sich bei Ihrem Server anzumelden, und werden allen Benutzern empfohlen.

Schritt 1:Erstellen Sie die RSA-Schlüsselpaare

Der erste Schritt besteht darin, die Schlüsselpaare auf dem lokalen System zu erstellen.





Standardmäßig generiert ssh-keygen ein 2048-Bit-RSA-Schlüsselpaar. Sie können optional die Flags -b 4096 übergeben, um einen größeren RSA-Bitschlüssel zu erstellen. Nachdem Sie den Befehl ssh-keygen eingegeben haben, sollten Sie den folgenden Bildschirm sehen.



Drücken Sie ENTER um die Schlüsselpaare in .ssh/ zu speichern Unterverzeichnis in Ihrem Home-Verzeichnis oder geben Sie einen alternativen Pfad an. Wenn Sie den SSH-Schlüssel zuvor generiert haben, wird möglicherweise der folgende Bildschirm angezeigt.





Wenn Sie den vorhandenen Schlüssel auf dem Server überschreiben, können Sie sich nicht mehr mit dem vorherigen Schlüssel authentifizieren. Seien Sie sehr vorsichtig, wenn Sie Ja auswählen, da dieser Vorgang nicht rückgängig gemacht werden kann. Danach sehen Sie den folgenden Bildschirm.



Hier können Sie optional eine sichere Passphrase eingeben, was dringend empfohlen wird. Eine Passphrase ähnelt einem Passwort. Ein Passwort bezieht sich jedoch im Allgemeinen auf etwas, das zur Authentifizierung oder Anmeldung bei einem System verwendet wird. Ein Passwort bezieht sich im Allgemeinen auf ein Geheimnis, das zum Schutz eines Verschlüsselungsschlüssels verwendet wird.

Ein Verschlüsselungsschlüssel wird von der Passphrase abgeleitet und verwendet, um die geschützten Ressourcen zu verschlüsseln. Eine Passphrase fügt eine zusätzliche Sicherheitsebene hinzu, um zu verhindern, dass sich unbefugte Benutzer anmelden. Danach sehen Sie den folgenden Bildschirm.





Jetzt haben Sie einen öffentlichen und einen privaten Schlüssel, die Sie zur Authentifizierung verwenden können. Der nächste Schritt besteht darin, den öffentlichen Schlüssel auf Ihrem Server zu platzieren, damit Sie sich mit der SSH-Schlüssel-basierten Authentifizierung anmelden können.

Schritt:2 Kopieren Sie den öffentlichen Schlüssel auf den CentOS-Server

Der einfachste Weg, den öffentlichen Schlüssel auf den Server zu kopieren, ist die Verwendung des Befehls ssh-copy-id. Der obige Befehl wird aufgrund seiner Einfachheit dringend empfohlen. Kopieren Sie den SSH-Schlüssel mit dem Befehl ssh-copy-id. Mit dem Befehl ssh-copy-id müssen Sie den Benutzernamen und die IP-Adresse/den Hostserver angeben, auf dem Sie den SSH-Schlüssel einfügen möchten.

Beispiel für ssh-copy-id@ unixlinux.online/Host-Server
Zum Beispiel # ssh-copy-id [email protected] (192.168.2.152 ist unsere interne IP-Adresse, die wir verwendet haben, um die Schritte in diesem Artikel auszuführen. Bitte ersetzen Sie diese IP-Adresse durch Ihre tatsächliche IP-Adresse.)



Danach sehen Sie möglicherweise den folgenden Bildschirm.





Hier müssen Sie das Passwort des Remote-Hosts eingeben, auf dem Sie den SSH-Schlüssel einfügen möchten, und „ENTER“ drücken. Sobald Sie „ENTER“ drücken, wird eine Verbindung zum Remote-Host hergestellt und der Inhalt Ihres ~/.ssh/id_rsa.pub-Schlüssels in eine Datei im Home-Verzeichnis ~/.ssh des Remote-Kontos namens „authorized_keys“ kopiert. Möglicherweise sehen Sie den folgenden Bildschirm.



Jetzt wurde Ihr id_rsa.pub-Schlüssel auf das Remote-Konto hochgeladen.

Schritt 3 – Authentifizieren Sie sich bei Ihrem Ubuntu-Server mit SSH-Schlüsseln

Wenn Sie das Verfahren abgeschlossen haben, sollten Sie sich ohne das Kennwort des Remote-Kontos beim Remote-Host anmelden können. Geben Sie den folgenden Befehl in das Terminal ein, um sich ohne das Kennwort des Remote-Kontos bei Ihrem Remote-Server anzumelden.

# ssh [email protected]_address_of_remote_server
Zum Beispiel # ssh [email protected]





Sobald Sie „ENTER“ drücken, werden Sie beim Remote-Host angemeldet.

Schritt 4 – Deaktivieren Sie die Passwortauthentifizierung auf Ihrem Server

Wenn Sie sich erfolgreich beim Server angemeldet haben, bedeutet dies, dass Sie die SSH-Schlüssel-basierte Authentifizierung erfolgreich konfiguriert haben. Ihre passwortbasierte Authentifizierung ist jedoch weiterhin auf dem Server aktiv. Das bedeutet, dass Ihr Server weiterhin Brute-Force-Angriffen ausgesetzt ist.

Um Brute-Force-Angriffe zu verhindern, müssen Sie die Passwortauthentifizierung auf Ihrem Server deaktivieren. Stellen Sie dafür sicher, dass Ihr Konto über Administratorrechte (Root) verfügt. Melden Sie sich zuerst bei dem Server an, auf dem Sie die schlüsselbasierte SSH-Authentifizierung konfiguriert haben.

Um die kennwortbasierte Authentifizierung zu deaktivieren, müssen Sie den folgenden Befehl verwenden.

# sudo vi/etc/ssh/ssg_config





Suchen Sie in der Datei nach der folgenden Zeile PasswordAuthentication. Drücken Sie „I “, um den Text einzufügen und die Zeile zu bearbeiten und den Wert „NEIN“ festzulegen “. Dadurch wird Ihre Möglichkeit deaktiviert, sich über SSH mit Kontokennwörtern anzumelden.



Sobald Sie mit dem obigen Verfahren fertig sind, drücken Sie „Esc “ und geben Sie „:wq ein “ und drücken Sie die Eingabetaste.



Um diese Änderungen tatsächlich zu implementieren, müssen Sie den sshd-Dienst mithilfe von neu starten folgenden Befehl.

# sudo systemctl restart sshd.service



Das ist alles.






Linux
  1. So generieren Sie einen SSH-Schlüssel in Windows 10

  2. Wie installiere und verwende ich den Linux-Bildschirm?

  3. So richten Sie den öffentlichen und privaten SSH-Schlüssel unter Linux ein

  4. So verwenden Sie die Befehle strace und ltrace unter Linux

  5. So installieren und verwenden Sie Glances zur Überwachung von Linux-Systemen

So installieren und verwenden Sie Skype auf einem Linux-System. Es ist jetzt einfacher

So installieren und verwenden Sie den GCC-Compiler auf einem Linux-System

So mounten und verwenden Sie ein exFAT-Laufwerk auf einem Linux-System

So installieren und verwenden Sie Tmux (Terminal Multiplexer) im Linux-System

So installieren und verwenden Sie AsciiDoc im Linux-System

So installieren und verwenden Sie den Konsole-Terminal-Emulator im Linux-System