Detaillierte Erklärung der grundlegenden Verwendung des SSH-Befehls ssh-keygen

Detaillierte Erklärung der grundlegenden Verwendung des SSH-Befehls ssh-keygen

Die SSH-Public-Key-Authentifizierung ist eine der SSH-Authentifizierungsmethoden. Die kennwortfreie SSH-Anmeldung kann durch Authentifizierung mit öffentlichem Schlüssel erreicht werden, und die SSH-Methode von Git wird auch durch einen öffentlichen Schlüssel authentifiziert.

Im Home-Verzeichnis des Benutzerverzeichnisses gibt es ein .ssh-Verzeichnis. Fast alle Dateien, die mit der SSH-Konfigurationsauthentifizierung des aktuellen Benutzers zusammenhängen, befinden sich in diesem Verzeichnis.

Mit ssh-keygen können die öffentlichen und privaten Schlüsseldateien generiert werden, die für die SSH-Public-Key-Authentifizierung erforderlich sind.

Wenn Sie ssh-keygen verwenden, gehen Sie bitte zuerst in das Verzeichnis ~/.ssh. Wenn es nicht existiert, erstellen Sie es bitte zuerst. Und stellen Sie sicher, dass die Berechtigungen von ~/.ssh und allen übergeordneten Verzeichnissen nicht größer als 711 sein können

Generierter Dateiname und Speicherort

Die Verwendung von ssh-kengen erzeugt zwei Dateien im Verzeichnis ~/.ssh/. Wenn Dateiname und Schlüsseltyp nicht angegeben sind, werden standardmäßig die folgenden zwei Dateien erzeugt:

id_rsa

id_rsa.pub

Die erste ist die Datei mit dem privaten Schlüssel und die zweite ist die Datei mit dem öffentlichen Schlüssel.

Beim Generieren eines SSH-Schlüssels können Sie den Dateinamen der generierten Datei mit der Option -f wie folgt angeben:

[[email protected]]$ ssh-keygen -f test -C "Testschlüssel"
               ~~Dateiname~~~~ Notizen

Wenn kein Dateiname angegeben ist, werden Sie aufgefordert, einen einzugeben:

[[email protected]]$ ssh-keygen
Generieren eines öffentlichen/privaten RSA-Schlüsselpaars.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/home/huqiu/.ssh/id_rsa):

Sie können den gewünschten Dateinamen eingeben, hier geben wir „Test“ ein.

Anschließend werden Sie gefragt, ob Sie ein Passwort eingeben müssen. Nachdem Sie das Passwort eingegeben haben, müssen Sie es bei jedem weiteren Mal erneut eingeben. Bitte entscheiden Sie anhand Ihres Sicherheitsbedürfnisses, ob Sie ein Passwort benötigen. Wenn nicht, drücken Sie einfach die Eingabetaste:

[[email protected]]$ ssh-keygen -t rsa -f test -C "Testschlüssel"
Generieren eines öffentlichen/privaten RSA-Schlüsselpaars.
Passphrase eingeben (leer, wenn keine Passphrase vorhanden ist):
Geben Sie dieselbe Passphrase erneut ein:

Wenn der Dateiname „Test“ lautet, ist das Ergebnis:

[[email protected]]$ll-Test*
-rw------- 1 huqiu huqiu 1675 15. September 13:24 Test
-rw-r--r-- 1 huqiu huqiu 390 15. September 13:24 test.pub

Im oben generierten Befehl ist die Option -C ein Kommentar in der öffentlichen Schlüsseldatei:

[[email protected]]$ Katze test.pub
ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEAlgjiMw7AskxbvpQY9rmZPQxQBzh9laxFvbaini2EgmQkNsXBA9WJOXn2YBJauoiVsdUKBWA97avjsobrTxsCYvFr1yQQvTfTlbqlqGNIhQc/3HjTl2pIkClpDWvBrRN+jpyESS4MNbfOL1qjT4c/QhGvj6U6HrN6kUyn58oyyJpTzOLG74AZELJ2Led57QvTw1yJXZuAMWioR0A3BGd25fdocLX3ebux6ya8AsloOVYfsAqGlggrARe6FXjLfMH4a/nxaAdiDYVXU/Vr1ybK9P7SfyEDGJi3JtgiPUlA6vPxUC
E+9IJPQaqqeqCGzrJ6G/XO7om1v9YLLG/H/ZN2tQ== Testschlüssel
                      ~~~~Bemerkungen

Damit die private und die öffentliche Schlüsseldatei bei der Authentifizierung funktionieren, stellen Sie bitte sicher, dass die Berechtigungen korrekt sind.

Für .ssh und den übergeordneten Ordner muss der aktuelle Benutzer über Ausführungsberechtigungen verfügen, andere Benutzer können höchstens über Ausführungsberechtigungen verfügen.

Für öffentliche und private Schlüsseldateien gilt das Gleiche: Der aktuelle Benutzer muss über Ausführungsberechtigungen verfügen, andere Benutzer können maximal über Ausführungsberechtigungen verfügen.

Das Obige ist die grundlegende Verwendung des SSH-Befehls ssh-keygen. Ich hoffe, es ist für alle nützlich. Weitere Artikel zur Verwendung von ssh-keygen finden Sie in den folgenden verwandten Artikeln

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur SSH-Remote-Anmeldung und Portweiterleitung
  • Installieren Sie OpenSSH unter Windows und melden Sie sich beim Linux-Server an, indem Sie einen SSH-Schlüssel generieren.
  • SSH-Schlüsselpaare von einer oder mehreren Linux-Instanzen trennen
  • Detaillierte Analyse der drei Komponenten von SSH: ssh, sftp und scp
  • Verwenden Sie PSSH zur Stapelverwaltung von Linux-Servern
  • Detaillierte Erläuterung des nicht autorisierten Zugriffs auf Redis und der Verwendung von SSH-Schlüsseldateien
  • SSH-Prinzip und zwei Login-Methoden, detaillierte Darstellung
  • So erstellen Sie ein Docker-Image, das den SSH-Dienst unterstützt
  • So fügen Sie eine SSH-Portnummer in CentOS7 hinzu oder ändern sie
  • So richten Sie SSH-Remote-Debugging in PyCharm ein
  • Detaillierte Erklärung eines einfachen Beispiels von WebSSH basierend auf Django
  • So laden Sie Dateien und Ordner über SSH auf einen Linux-Server hoch
  • So ändern Sie die Standard-Portnummer von CentOS6.5 und CentOS7 ssh
  • Praxis der Integration des Spring+Hibernate+Struts(SSH)-Frameworks
  • So installieren Sie den SSH-Dienst und realisieren den Fernzugriff in Ubuntu 16.04
  • So geben Sie den SSH-Port für die Rsync-Dateisynchronisierung an
  • Verwenden Sie Python, um den SSH-Remotecode zu aktualisieren und den Remoteserver-Implementierungscode auszuführen
  • So schreiben Sie ein leichtes SSH-Batchoperationstool in Go
  • SSH-Portweiterleitung, lokale Portweiterleitung, Remote-Portweiterleitung, dynamische Portweiterleitungsdetails

<<:  Detaillierte Erläuterung der sieben Wertübertragungsmethoden von Vue

>>:  Eine umfassende Zusammenfassung häufig verwendeter Anweisungen in MySQL (unbedingt lesen)

Artikel empfehlen

Der Unterschied zwischen HTML-Block-Level-Tags und Inline-Tags

1. Blockebenenelement: bezieht sich auf die Fähigk...

So führen Sie SCSS in ein React-Projekt ein

Laden Sie zuerst die Abhängigkeiten herunter Garn...

Zusammenfassung neuer Anwendungsbeispiele für Calculated in Vue3

Die Verwendung von „Computed“ in vue3. Da vue3 mi...

Der Unterschied zwischen den Feldtypen char, varchar und Text in MySQL

In MySQL können alle Felder der Typen char, varch...

Beispiel für einen Persistenzbetrieb mit Gearman + MySQL

Dieser Artikel verwendet die Gearman+MySQL-Method...

Zusammenfassung der MySQL-Datenbanknutzungsspezifikationen

Einführung: Ich glaube, dass jeder einige Dokumen...