Installieren Sie OpenSSH unter Windows und melden Sie sich beim Linux-Server an, indem Sie einen SSH-Schlüssel generieren.

Installieren Sie OpenSSH unter Windows und melden Sie sich beim Linux-Server an, indem Sie einen SSH-Schlüssel generieren.

Der vollständige Name von SSH ist Secure SHell. Durch die Verwendung von SSH können Sie alle übertragenen Daten verschlüsseln, was „Man-in-the-Middle“-Angriffe unmöglich macht und auch DNS- und IP-Spoofing verhindert. Ein zusätzlicher Vorteil besteht darin, dass die übertragenen Daten komprimiert werden und somit die Übertragungsgeschwindigkeit beschleunigt werden kann. SSH hat viele Funktionen. Es kann Telnet ersetzen und einen sicheren „Kanal“ für FTP, POP und sogar PPP bereitstellen.

SSH wurde ursprünglich von einem Unternehmen in Finnland entwickelt. Aufgrund von Urheberrechts- und Verschlüsselungsalgorithmusbeschränkungen verwenden jedoch viele Leute jetzt OpenSSH

OpenSSH ist eine Open-Source-Version des SSH-Protokolls (SSH: Secure SHell).

Heute stelle ich vor, wie man OpenSSH in Windows installiert und mit dem Befehl ssh-keygen Schlüssel generiert.

1. OpenSSH herunterladen

2. Installieren Sie OpenSSH

1. Sprachauswahl: Chinesisch und Englisch sind beide akzeptabel

Nächster Schritt

„Vereinbarung akzeptieren“, um fortzufahren

Da wir hier SSH zur Verbindung mit Linux verwenden, benötigen wir nur den Client und müssen die Option „Server“ deaktivieren.

Vollständige OpenSSH-Installation unter Windows

3. Testen Sie, ob SSH erfolgreich installiert wurde

Rufen Sie das Windows-Befehlszeilentool auf, geben Sie den SSH-Befehl ein und die folgenden Informationen werden angezeigt, was darauf hinweist, dass unsere Installation erfolgreich war

4. Verwenden Sie den Befehl ssh-keygen, um ein Schlüsselpaar (öffentlicher Schlüssel und entsprechender privater Schlüssel) zu generieren.

Die spezifischen Parameter von ssh-keygen sind wie folgt:

-a Versuche
Die grundlegende Anzahl der Tests, die beim Screening der Sicherheit von DH-GEX-Hauptkandidaten mit -T durchgeführt werden sollen.
-B Zeigt den Bubblebabble-Digest der angegebenen öffentlichen/privaten Schlüsseldatei an.
-b Bits
Geben Sie die Schlüssellänge an. Für RSA-Schlüssel beträgt die Mindestanforderung 768 Bit, der Standardwert liegt bei 2048 Bit. DSA-Schlüssel müssen genau 1024 Bit lang sein (eine Anforderung des FIPS 186-2-Standards).
-C Kommentar
Einen neuen Kommentar abgeben
-c Fordert eine Änderung der Kommentare in privaten und öffentlichen Schlüsseldateien an. Diese Option wird nur für RSA1-Schlüssel unterstützt.
Das Programm fordert Sie zur Eingabe des privaten Schlüsseldateinamens, der Passphrase (sofern vorhanden) und eines neuen Kommentars auf.
-D Leser
Laden Sie den im Smartcard-Lesegerät gespeicherten öffentlichen RSA-Schlüssel herunter.
-e Liest eine private oder öffentliche OpenSSH-Schlüsseldatei und zeigt sie auf stdout im RFC 4716 SSH-Public-Key-Dateiformat an.
Mit dieser Option können Schlüssel für verschiedene kommerzielle Versionen von SSH exportiert werden.
-F Hostname
Durchsucht die Datei known_hosts nach dem angegebenen Hostnamen und listet alle Übereinstimmungen auf.
Diese Option wird hauptsächlich verwendet, um gehashte Hostnamen/IP-Adressen zu finden. Sie kann auch in Verbindung mit der Option -H verwendet werden, um den Hashwert des gefundenen öffentlichen Schlüssels auszudrucken.
-f Dateiname
Geben Sie den Namen der Schlüsseldatei an.
-G Ausgabedatei
Generieren Sie Kandidaten für Primzahlen für DH-GEX. Diese Primzahlen müssen vor der Verwendung mit der Option -T auf Sicherheit geprüft werden.
-g Verwenden Sie das allgemeine DNS-Format, wenn Sie mit -r Fingerabdruck-Ressourceneinträge drucken.
-H Hashen Sie die known_hosts-Datei. Dadurch werden alle Hostnamen/IP-Adressen in der Datei durch die entsprechenden Hashwerte ersetzt.
Der Inhalt der Originaldatei wird mit der Endung „.old“ gespeichert. Diese Hashes können nur von SSH und SSHD verwendet werden.
Diese Option ändert bereits gehashte Hostnamen/IP-Adressen nicht und kann daher sicher für Dateien verwendet werden, bei denen einige öffentliche Schlüssel bereits gehasht wurden.
-i Liest eine unverschlüsselte, SSH-2-kompatible private/öffentliche Schlüsseldatei und zeigt einen OpenSSH-kompatiblen privaten/öffentlichen Schlüssel auf stdout an.
Diese Option wird hauptsächlich zum Importieren von Schlüsseln aus verschiedenen kommerziellen Versionen von SSH verwendet.
-l Zeigt die Fingerabdruckdaten der öffentlichen Schlüsseldatei an. Es unterstützt auch private RSA1-Schlüssel.
Bei RSA- und DSA-Schlüsseln wird die entsprechende öffentliche Schlüsseldatei gesucht und deren Fingerabdruckdaten angezeigt.
-M Speicher
Gibt die maximale Speichermenge (in MB) an, die beim Generieren von DH-GEXS-Primärkandidaten verwendet werden soll.
-N neue_Passphrase
Geben Sie eine neue geheime Phrase ein.
-P Passphrase
Geben Sie die (alte) Geheimphrase ein.
-p Fordert das Ändern des Kennworts einer privaten Schlüsseldatei an, ohne den privaten Schlüssel neu zu erstellen. Das Programm fordert Sie zur Eingabe des Dateinamens des privaten Schlüssels, der ursprünglichen Passphrase und zweier neuer Passphrasen auf.
-q Leiser Modus. Wird beim Erstellen neuer Schlüssel in /etc/rc verwendet.
-R Hostname
Löschen Sie alle zum Hostnamen gehörenden Schlüssel aus der Datei known_hosts.
Diese Option wird hauptsächlich zum Löschen der Schlüssel von gehashten Hosts verwendet (siehe Option -H).
-r Hostname
Drucken Sie den SSHFP-Fingerabdruck-Ressourcendatensatz für die öffentliche Schlüsseldatei mit dem Namen „Hostname“.
-S starten
Gibt den Startpunkt (hexadezimal) beim Generieren von DH-GEX-Kandidatenmodulen an.
-T Ausgabedatei
Testet die Sicherheit der Primzahlkandidaten für den Diffie-Hellman-Gruppenaustausch (generiert mit der Option -G).
-t Typ
Gibt den zu erstellenden Schlüsseltyp an. Sie können verwenden: „rsa1“ (SSH-1) „rsa“ (SSH-2) „dsa“ (SSH-2)
-U Leser
Laden Sie den vorhandenen privaten RSA-Schlüssel auf das Smartcard-Lesegerät hoch
-v Ausführlicher Modus. ssh-keygen gibt detaillierte Debuginformationen zum Vorgang aus. Wird häufig zum Debuggen des Modulgenerierungsprozesses verwendet.
Durch mehrmaliges Wiederholen der Option -v wird die Ausführlichkeit der Informationen erhöht (maximal dreimal).
-W-Generator
Gibt den Generator an, den Sie beim Testen von Kandidatenmodulen für DH-GEX verwenden möchten
-y Liest eine öffentliche Schlüsseldatei im proprietären OpenSSH-Format und zeigt den öffentlichen OpenSSH-Schlüssel auf stdout an.

Die Parameter, die wir üblicherweise verwenden, sind im Wesentlichen die folgenden:

-t: Gibt den zu erstellenden Schlüsseltyp an. Sie können verwenden: „rsa1“ (SSH-1) „rsa“ (SSH-2) „dsa“ (SSH-2); der Standard ist RSA

-b: Gibt die Schlüssellänge an. Für RSA-Schlüssel beträgt die Mindestanforderung 768 Bit, der Standardwert liegt bei 2048 Bit. DSA-Schlüssel müssen genau 1024 Bit lang sein (eine Anforderung des FIPS 186-2-Standards).

-f: Geben Sie den Schlüsseldateinamen an

-C: Schlüsselkommentar angeben

Geben Sie im Kommandozeilentool "ssh-keygen -t rsa -b 4096 -C "192.168.1.1"" ein. Es werden folgende Eingaben abgefragt. Hier habe ich die Schlüsselbitnummer auf 4096 gesetzt. Der Standardwert ist 2048.

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Benutzer\Administrator>ssh-keygen -t rsa -b 4096 -C "192.168.1.1"
Generieren eines öffentlichen/privaten RSA-Schlüsselpaars.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/home/Administrator1/.ssh/id_rsa): Schlüssel #Geben Sie hier den Dateinamen ein. Windows verlangt eine Eingabe. Wenn Sie ihn nicht eingeben, tritt ein Fehler auf. Geben Sie die Passphrase ein (leer, wenn keine Passphrase vorhanden ist): #Geben Sie die Schlüssel-Passphrase ein, die als Schlüsselkennwort verstanden werden kann. Sie müssen sie nicht eingeben. Geben Sie die gleiche Passphrase erneut ein: #Geben Sie das Schlüsselkennwort erneut ein. Ihre Identifikation wurde im Schlüssel gespeichert.
Ihr öffentlicher Schlüssel wurde in key.pub gespeichert.
Der Schlüsselfingerabdruck ist:
SHA256:Ke9MH5QsT19TJqQgimryAn27Vp+MuIFeIff/2VL6hQE 192.168.1.1
Das Randomart-Bild des Schlüssels ist:
+---[RSA 4096]----+
| . . . |
| . . . . o |
| . . E . . o|
| . . oo + |
|o = + . S = . o |
|.+ = +.o = ..+ . |
|. o +o.+o.ooo . |
| o .oo.=+.o+ . |
| ..o. +.+oo |
+----[SHA256]-----+

C:\Benutzer\Administrator>

Öffnen Sie nach Abschluss das aktuelle Benutzerverzeichnis, um zu prüfen, ob eine gerade generierte Schlüsseldatei vorhanden ist. Tatsächlich sollten es zwei Dateien sein. key ist der private Schlüssel und key.pub ist der öffentliche Schlüssel.

Mein aktuelles Benutzerverzeichnis ist "C:\Benutzer\Administrator", das sich möglicherweise von Ihrem unterscheidet

5. SSH-Einstellungen des Linux-Servers

Nachdem Sie das Schlüsselpaar generiert haben, müssen Sie auch den öffentlichen Schlüssel, die soeben generierte Datei key.pub, auf den Linux-Server hochladen.

Hinweis: Der Upload-Speicherort ist das .ssh-Verzeichnis im Home-Verzeichnis des Benutzers, mit dem wir uns bei Linux anmelden

Wenn das Verzeichnis nicht existiert, müssen Sie das Verzeichnis ~/.ssh erstellen und die Verzeichnisberechtigungen auf 700 setzen.

Benennen Sie den öffentlichen Schlüssel in authorized_keys um und setzen Sie seine Benutzerberechtigungen auf 600

Beispiel: /root/.ssh/

Benennen Sie dann die Datei key.pub um, die wir hochgeladen haben: authorized_keys

[root@server ~]# mv key.pub autorisierte_schlüssel
[root@server ~]# chmod 700 .ssh
[root@server ~]# chmod 600 autorisierte Schlüssel

OK, jetzt können Sie SSH-Schlüssel verwenden, um eine Verbindung zum Linux-Server herzustellen

Wenn die Verbindung nicht hergestellt werden kann, überprüfen Sie, ob die Berechtigungen für das SSH-Verzeichnis und die Datei „authorized_keys“ korrekt sind.

Weitere Artikel zur SSH-Verbindung mit Linux-Servern finden Sie in den folgenden verwandten Artikeln

Das könnte Sie auch interessieren:
  • Tutorial zur Konfiguration von SSH und Xshell für die Verbindung zum Server unter Linux (mit Bildern)
  • So richten Sie die passwortfreie SSH-Anmeldung beim Linux-Server ein
  • Methode zur Verhinderung von SSH-Cracking auf Linux-Servern (empfohlen)
  • So laden Sie Dateien und Ordner über SSH auf einen Linux-Server hoch
  • Das Paramiko-Modul unter Python implementiert eine SSH-Verbindung zur Anmeldung beim Linux-Server
  • Verwenden von WinSCP und Stapelverarbeitung unter Windows zum Hochladen von Dateien auf einen Linux-Server über den SSH-Port
  • Vier Tipps zum Konfigurieren eines sicheren SSH-Zugriffs auf Linux-Servern
  • Codebeispiel für die Linux-SSH-Serverkonfiguration

<<:  Handtrack.js-Bibliothek zur Echtzeitüberwachung von Handbewegungen (empfohlen)

>>:  Ein Beispiel für die Verwendung einer MySQL-Anweisung, um die Anzahl der von verschiedenen Ganzzahlen belegten Bytes sowie deren Maximal- und Minimalwerte herauszufinden

Artikel empfehlen

So stellen Sie ein Vue-Projekt unter Nginx bereit

Heute werde ich den Server nginx verwenden und mu...

Drei Möglichkeiten zum Sperren und Entsperren von Benutzerkonten in Linux

Wenn in Ihrer Organisation bereits eine Kennwortr...

Dieser Artikel hilft Ihnen, JavaScript-Variablen und -Datentypen zu verstehen

Inhaltsverzeichnis Vorwort: Freundliche Tipps: Va...

innerHTML-Anwendung

Blanks Blog: http://www.planabc.net/ Die Verwendu...

Eine kurze Diskussion über das Implementierungsprinzip von Webpack4-Plugins

Inhaltsverzeichnis Vorwort wissen Übung macht den...

Upgrade des Windows Server 2008R2-Dateiservers auf Windows Server 2016

Die Benutzerorganisation verfügt über zwei Window...

Neue Funktionen in MySQL 8.0: Hash Join

Das MySQL-Entwicklungsteam hat am 14. Oktober 201...

Ein kurzer Vergleich von Props in React

Inhaltsverzeichnis Props-Vergleich von Klassenkom...

Implementierungsfallcodeanalyse für dynamische und statische Trennung von Nginx

Trennung von statischer und dynamischer Dynamisch...

Python3.6-MySql Dateipfad einfügen, die Lösung zum Entfernen des Backslashs

Wie unten dargestellt: Ersetzen Sie es einfach, w...

So starten Sie ein Vue.js-Projekt

Inhaltsverzeichnis 1. Node.js und Vue 2. Führen S...

So legen Sie den Fokus auf HTML-Elemente fest

Code kopieren Der Code lautet wie folgt: <Körp...