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

Einführung in die SSL- und WSS-Schritte für die Nginx-Konfiguration

Inhaltsverzeichnis Vorwort 1. Nginx-Installation ...

Detaillierte Erklärung des Unterschieds zwischen Alt und Titel

Diese beiden Attribute werden häufig verwendet, i...

Implementierung der IP-Adresskonfiguration in Centos7.5

1. Bevor Sie die IP-Adresse konfigurieren, verwen...

Detaillierte Erklärung der JavaScript-Funktion dieses Zeigeproblems

Inhaltsverzeichnis 1. Die Richtung davon in der F...

Eine Zusammenfassung der Gründe, warum MySQL keinen Datumsfeldindex verwendet

Inhaltsverzeichnis Hintergrund erkunden Zusammenf...

Details zur React Routing Link-Konfiguration

1. Link zum Attribut (1) Platzieren Sie den Routi...

Anwendung von Hadoop-Zählern und Datenbereinigung

Datenbereinigung (ETL) Vor dem Ausführen des MapR...

Beispielcode zur Implementierung eines gepunkteten Rahmen-Scrolleffekts mit CSS

Wir sehen oft einen coolen Effekt, wenn die Maus ...

Detaillierte Erklärung zur Verwendung der Element-el-button-Button-Komponente

1. Hintergrund Schaltflächen werden sehr häufig v...

So erhalten Sie USB-Scannerdaten mit js

In diesem Artikel wird der spezifische Prozess zu...

jQuery implementiert alle Auswahl- und umgekehrten Auswahloperationsfälle

In diesem Artikel wird der spezifische Code von j...

Implementierung der K8S-Bereitstellung eines Docker-Containers

Umgebung: (Docker, K8s-Cluster), fahren Sie mit d...