So verwenden Sie ssh-keygen zum Generieren eines SSH-Schlüssels

How Use Ssh Keygen Generate An Ssh Key



SSH oder Secure Shell ist ein nützliches verschlüsseltes Protokoll, um Verbindungen zwischen dem Client und dem Server für verschiedene administrative Aufgaben zu sichern. Es unterstützt verschiedene Arten von Authentifizierungssystemen. Meistens werden die auf öffentlichem Schlüssel basierende Authentifizierung und die kennwortbasierte Authentifizierung verwendet. Die schlüsselbasierte Authentifizierung ist sicherer als die kennwortbasierte Authentifizierung. Authentifizierungsschlüsselpaare für das SSH werden vom ssh-keygen-Tool generiert, das für verschiedene Zwecke wie die Authentifizierung des Hosts, die Automatisierung der Anmeldung usw. verwendet werden kann. Wie dieses Tool in Ubuntu verwendet werden kann, wurde in diesem Tutorial gezeigt.

Syntax:

Die Syntax dieses Befehls ist unten angegeben. Es unterstützt viele Optionen zum Generieren von Authentifizierungsschlüsselpaaren, die später beschrieben werden.







ssh-keygen [-Q] [-b Bits] [-Wie ist das] [-f Ausgabeschlüsseldatei] [-m-Format]

[-t dsa|ecdsa|ecdsa-sk|ed25519|ed25519-sk|rsa]

[-N neue_Passphrase] [-O-Option] [-w Anbieter]

Verschiedene Optionen von ssh-keygen:

Die Zwecke der Verwendung verschiedener Arten von ssh-keygen-Optionen werden im Folgenden erläutert.



Möglichkeit Zweck
-ZU Es generiert die Hostschlüssel mit dem Standardschlüsseldateipfad, der leeren Passphrase, den Standardbits für den Schlüsseltyp und dem Kommentar.
-b Bits Es wird verwendet, um die Anzahl der Bits im Schlüssel zu definieren, die erstellt werden.
-Wie ist das Er wird verwendet, um den neuen Kommentar zu definieren.
-C Es wird verwendet, um die Änderung des Kommentars der öffentlichen und privaten Schlüsseldateien anzufordern.
-E Fingerabdruck_hash Es wird verwendet, um den Hash-Algorithmus zu definieren, der verwendet wird, um die Fingerabdrücke anzuzeigen.
-Und Es wird verwendet, um die private oder öffentliche Schlüsseldatei zu lesen und auf die Standardausgabe zu drucken.
-F Hostname | [Hostname]: Port Es wird verwendet, um den jeweiligen Hostnamen mit der optionalen Portnummer in der Datei 'known_hosts' zu suchen.
-f Dateiname Es wird verwendet, um den Dateinamen der Schlüsseldatei zu definieren.
-H Es wird verwendet, um eine bekannte_hosts-Datei zu hashen. Es ersetzt alle Hostnamen und Adressen durch die Hash-Darstellungen in der angegebenen Datei. Der ursprüngliche Inhalt wird in eine Datei mit der Endung .old verschoben.
-ich Es wird verwendet, um eine unverschlüsselte private (oder öffentliche) Schlüsseldatei zu lesen.
-DAS Es wird verwendet, um den Inhalt eines oder mehrerer Zertifikate zu drucken.
-das Es wird verwendet, um den Fingerabdruck einer angegebenen öffentlichen Schlüsseldatei anzuzeigen.
-N neue_Passphrase Es wird verwendet, um die neue Passphrase bereitzustellen.
-P-Passphrase Es wird verwendet, um die alte Passphrase bereitzustellen.
-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa Es wird verwendet, um den Typ des zu erstellenden Schlüssels zu definieren.

Erstellen Sie Schlüssel mit ssh-keygen:

Sie können SSH-Schlüsselpaare erstellen, indem Sie ssh-keygen mit oder ohne Option ausführen. In diesem Teil dieses Tutorials wurden verschiedene Möglichkeiten zum Erstellen der SSH-Schlüsselpaare gezeigt. Sie müssen sich auf dem Servercomputer anmelden, auf dem OpenSSH installiert ist, um die Schlüssel zu erstellen



Generieren Sie die Schlüsselpaare ohne Option:

Der folgende Befehl erstellt Schlüsselpaare, ohne eine Option zu verwenden.





$ssh-keygen

Nachdem Sie den obigen Befehl ausgeführt haben, können Sie den Dateinamen angeben, in dem der Schlüssel gespeichert wird, oder die Eingabetaste drücken, um den Standarddateinamen zu speichern. Hier wurde die Eingabetaste gedrückt. Als nächstes können Sie die Eingabetaste erneut drücken, um das leere Passwort festzulegen oder das Passwort festzulegen.



Generieren Sie die Schlüsselpaare mit einer einzigen Option:

Der folgende Befehl generiert die Schlüsselpaare des im Befehl erwähnten rsa-Typs mit der Option -t.

$ssh-keygen -Trsa

Wie beim vorherigen Befehl können Sie den Dateinamen angeben oder den Standarddateinamen zum Speichern der Schlüsselpaare verwenden und das Kennwort oder das leere Kennwort für die SSH-Verbindung festlegen.

Generieren Sie die Schlüsselpaare mit mehreren Optionen:

Führen Sie den folgenden Befehl aus, um die Schlüsselpaare vom Typ rsa mit 2000 Bit und dem Kommentarwert zu generieren:[E-Mail geschützt].

$ssh-keygen -Trsa-B 2000 -C ' [E-Mail geschützt] '

Wie beim vorherigen Befehl können Sie den Dateinamen angeben oder den Standarddateinamen zum Speichern der Schlüsselpaare verwenden und das Kennwort oder das leere Kennwort für die SSH-Verbindung festlegen. Wenn Sie die Schlüsseldateien vor der Ausführung des obigen Befehls generiert haben, werden Sie aufgefordert, die Schlüsseldatei zu überschreiben oder nicht. Wenn Sie „y“ eingeben, wird die zuvor generierte Datei mit den neuen Schlüsseln überschrieben.

Kopieren Sie den öffentlichen Schlüssel auf den Server:

Führen Sie den folgenden Befehl auf dem Servercomputer aus, um den öffentlichen Schlüssel zum Servercomputer hinzuzufügen. Der Befehl kopiert den Schlüssel auf den Server und konfiguriert ihn so, dass der Schlüssel der Datei authorisiert_keys hinzugefügt wird, um auf den Server zuzugreifen.

$ssh-copy-id-ich~/.ssh/id_rsa fahmida@fahida-VirtualBox

Die folgende Ausgabe wird angezeigt, wenn der öffentliche Schlüssel nicht zuvor auf dem Servercomputer hinzugefügt wurde.

Ändern Sie die Konfigurationsdatei des Servers:

Sie müssen einige Optionen in der Konfigurationsdatei des Server-Rechners aktivieren, wenn Sie die passwortbasierte Authentifizierung einrichten und die Root-Benutzeranmeldung des Servers zulassen möchten. Der Pfad der SSH-Konfigurationsdatei des Servers lautet /etc/ssh/sshd_config. Öffnen Sie die Datei in einem beliebigen Texteditor. Führen Sie den folgenden Befehl aus, um die Datei im Nano-Editor zu bearbeiten.

$sudo nano /etc/ssh/sshd_config

Fügen Sie die Datei mit den folgenden Zeilen hinzu oder ändern Sie sie, um die kennwortbasierte Authentifizierung zu aktivieren und die Berechtigung für die Root-Benutzeranmeldung festzulegen.

PasswortAuthentifizierungJawohl

PermitRootLoginJawohl

Speichern und schließen Sie die Datei. Führen Sie den folgenden Befehl aus, um den SSH-Dienst neu zu starten.

$sudosystemctl neu startenssh

Anmeldung über den SSH-Client:

Melden Sie sich auf dem Client-Rechner an, von dem aus Sie sich mit dem Server verbinden möchten, um zu überprüfen, ob die SSH-Verbindung funktioniert. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus, um die Identität des Servercomputers hinzuzufügen.

$ssh-add

Führen Sie den folgenden ssh-Befehl aus, um sich vom Client-Rechner mit dem Server-Rechner zu verbinden. Die Kennwortauthentifizierung und die Root-Anmeldung wurden im vorherigen Teil dieses Tutorials in der SSH-Konfigurationsdatei des Servers aktiviert. Der Benutzer muss also das gültige Root-Passwort des Server-Rechners angeben, um erfolgreich eine SSH-Verbindung aufzubauen.

$ssh <zuhref='mailto: [email protected]'>fahmida@10.0.2.15

Die folgende ähnliche Ausgabe wird angezeigt, nachdem vom Client eine SSH-Verbindung zum Server hergestellt wurde.

Abschluss:

Das ssh-keygen verwendet, um ein SSH-Schlüsselpaar auf verschiedene Weise zu generieren, wurde in diesem Tutorial erklärt. Ich hoffe, dass der Ubuntu-Benutzer die SSH-Schlüssel generiert, indem er ssh-keygen zum Herstellen einer SSH-Verbindung verwendet, nachdem er dieses Tutorial gelesen hat.