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

Linux-Grundlagen:So erstellen und installieren Sie SSH-Schlüssel auf der Shell

SSH-Schlüssel bieten eine hochsichere Möglichkeit, sich mit SSH bei einem Server anzumelden, anstatt nur von einem Passwort abhängig zu sein. Während ein Passwort Gefahr läuft, endgültig geknackt zu werden, sind SSH-Schlüssel mit Brute Force eher nicht zu entziffern. Tatsächlich bietet die Generierung eines Schlüsselpaars den Benutzern zwei lange Zeichenfolgen, die einem öffentlichen sowie einem privaten Schlüssel entsprechen. Benutzer können daher den öffentlichen Schlüssel auf einem beliebigen Server platzieren und ihn anschließend entsperren, indem sie sich mit einem Client verbinden, der bereits den privaten Schlüssel besitzt. Beim Abgleich der beiden Schlüssel wird das System ohne lästige Abhängigkeit von einem Passwort entsperrt. Die Sicherheit kann weiter durch eine intelligente Firewall geschützt werden, indem der private Schlüssel mit einer Passphrase geschützt wird.

Installation von SSH-Schlüsseln unter Linux – eine Schritt-für-Schritt-Anleitung

Nachfolgend finden Sie eine Schritt-für-Schritt-Anleitung, die den Prozess der Installation von SSH-Schlüsseln auf einem Linux-Server beschreibt:

Schritt Eins:Erstellung des RSA-Schlüsselpaars

Der erste Schritt im Installationsprozess besteht darin, das Schlüsselpaar auf dem Client-Rechner zu erstellen, der meistens Ihr eigenes System ist. Benutzer müssen den folgenden Befehl verwenden:

ssh-keygen -o -b 4096 -t rsa

Der obige Befehl startet den SSH-Schlüsselinstallationsprozess für Benutzer. Die Option -o weist ssh-keygen an, den privaten Schlüssel im neuen OpenSSH-Format statt im alten (und kompatibleren PEM-Format) zu speichern. Es wird dringend empfohlen, die Option -o zu verwenden, da das neue OpenSSH-Format einen erhöhten Widerstand gegen Brute-Force-Passwortknacken hat. Falls die Option -o auf Ihrem Server nicht funktioniert (sie wurde 2014 eingeführt) oder Sie einen privaten Schlüssel im alten PEM-Format benötigen, verwenden Sie den Befehl 'ssh-keygen -b 4096 -t rsa '.

Die Option -b des Befehls ssh-keygen wird verwendet, um die Schlüssellänge aus Sicherheitsgründen auf 4096 Bit anstelle der standardmäßigen 1024 Bit zu setzen.

Nach der Eingabe des primären Gen Key-Befehls müssen Benutzer die folgende Übung durchlaufen, indem sie die folgenden Eingabeaufforderungen beantworten:

Enter the file where you wish to save the key (/home/demo/.ssh/id_rsa)

Benutzer müssen ENTER drücken um die Datei auf der Startseite des Benutzers zu speichern

Die nächste Eingabeaufforderung würde wie folgt lauten:

Enter passphrase

Wenn Sie als Administrator die Passphrase zuweisen möchten, können Sie dies tun, wenn Sie dazu aufgefordert werden (wie in der obigen Frage), obwohl dies optional ist, und Sie können das Feld leer lassen, falls Sie keine Passphrase zuweisen möchten.

Es ist jedoch wichtig zu beachten, dass die Eingabe einer eindeutigen Passphrase eine Vielzahl von Vorteilen bietet, die unten aufgeführt sind:

1. Die Sicherheit eines Schlüssels, selbst wenn er hochgradig verschlüsselt ist, hängt weitgehend von seiner Unsichtbarkeit für andere Parteien ab. I 2. In dem wahrscheinlichen Fall, dass ein passphrasensicherer privater Schlüssel in die Obhut eines nicht autorisierten Benutzers fällt, wird es ihm unmöglich gemacht, sich bei seinen verbundenen Konten anzumelden, bis er die Passphrase knacken kann. Dies verschafft dem Opfer (dem gehackten Benutzer) ausnahmslos wertvolle zusätzliche Zeit, um das Hacking-Gebot abzuwehren. Auf der anderen Seite erfordert das Zuweisen einer Passphrase zum Schlüssel, dass Sie sie jedes Mal eingeben müssen, wenn Sie das Schlüsselpaar verwenden, was den Vorgang ein wenig erschwert mühsam, aber dennoch absolut ausfallsicher.

Hier ist ein grober Überblick über den End-to-End-Schlüsselerstellungsprozess:

Der öffentliche Schlüssel kann nun auf den Link ~/.ssh/id_rsa.pub

zurückgeführt werden

Der private Schlüssel (Identifikation) kann nun auf den Link-/home/demo/.ssh/id_rsa 3

zurückgeführt werden

Schritt Zwei:Kopieren des öffentlichen Schlüssels

Sobald das eindeutige Schlüsselpaar generiert wurde, bleibt der nächste Schritt, den öffentlichen Schlüssel auf dem virtuellen Server zu platzieren, den wir verwenden möchten. Benutzer könnten den öffentlichen Schlüssel mit dem Befehl „ssh-copy-id“ in die Datei „authorized_keys“ der neuen Maschine kopieren. Unten ist das vorgeschriebene Format (nur ein Beispiel) für die Eingabe des Benutzernamens und der IP-Adresse und muss durch tatsächliche Systemwerte ersetzt werden:

ssh-copy-id [email protected]

Alternativ können Benutzer die Schlüssel mithilfe von SSH einfügen (gemäß dem angegebenen Befehl):

cat ~/.ssh/id_rsa.pub | ssh [email protected] "cat >> ~/.ssh/authorized_keys"

Jeder der oben genannten Befehle soll bei Verwendung die folgende Nachricht auf Ihrem System ausgeben:

Die Authentizität des Hosts „192.168.0.100“ kann nicht festgestellt werden. Der Fingerabdruck des RSA-Schlüssels ist b1:2d:32:67:ce:35:4d:5f:13:a8:cd:c0:c4:48:86:12. Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? ja Warnung:„192.168.0.100“ (RSA) dauerhaft zur Liste der bekannten Hosts hinzugefügt. Passwort von [email protected]:Versuchen Sie jetzt, sich mit "ssh '[email protected]'" am Computer anzumelden, und checken Sie ein:~/.ssh/authorized_keys, um sicherzustellen, dass wir keine zusätzlichen Schlüssel hinzugefügt haben, die Sie verwendet haben. Ich erwarte nicht.

Nach der obigen Übung können sich die Nutzer bei [email protected] anmelden, ohne zur Eingabe eines Passworts aufgefordert zu werden. Wenn Sie dem Schlüssel jedoch zuvor eine Passphrase zugewiesen haben (wie in Schritt 2 oben), werden Sie an dieser Stelle (und jedes Mal für nachfolgende Anmeldungen) aufgefordert, die Passphrase einzugeben.

Schritt 3 (dieser Schritt ist optional):Deaktivierung des Passworts zur Erleichterung der Root-Anmeldung

Nachdem Benutzer ihre SSH-Schlüssel auf Ihren Server kopiert und eine reibungslose Anmeldung nur mit den SSH-Schlüsseln sichergestellt haben, haben sie die Möglichkeit, die Root-Anmeldung einzuschränken und dieselbe nur über SSH-Schlüssel zuzulassen. Dazu müssen Benutzer mit dem folgenden Befehl auf die SSH-Konfigurationsdatei zugreifen:

sudo nano /etc/ssh/sshd_config

Sobald auf die Datei zugegriffen wird, müssen Benutzer die Zeile innerhalb der Datei finden, die PermitRootLogin enthält , und ändern Sie diese, um eine narrensichere Verbindung mit dem SSH-Schlüssel sicherzustellen. Der folgende Befehl soll Ihnen dabei helfen:

PermitRootLogin without-password

Der letzte Schritt im Prozess besteht darin, die Änderungen mit dem folgenden Befehl zu implementieren:

reload ssh

Damit ist die Installation von SSH-Schlüsseln auf dem Linux-Server abgeschlossen.

Konvertieren des privaten OpenSSH-Schlüssels in das neue Format

Die meisten älteren OpenSSH-Schlüssel werden im PEM-Format gespeichert. Dieses Format ist zwar mit vielen älteren Anwendungen kompatibel, hat aber den Nachteil, dass das Passwort eines passwortgeschützten privaten Schlüssels mit Brute-Force-Angriffen angegriffen werden kann. Dieses Kapitel erklärt, wie man einen privaten Schlüssel im PEM-Format in einen im neuen OpenSSH-Format konvertiert.

ssh-keygen -p -o -f /root/.ssh/id_rsa

Der Pfad /root/.ssh/id_rsa ist der Pfad der alten privaten Schlüsseldatei.

Schlussfolgerung

Die obigen Schritte sollen Ihnen helfen, SSH-Schlüssel auf jedem virtuellen privaten Server absolut sicher und problemlos zu installieren.


Linux
  1. Linux-Grundlagen:So laden Sie Dateien auf der Shell mit Wget herunter

  2. So erstellen Sie einen Alias ​​und verwenden den Alias-Befehl in Linux

  3. So setzen/erstellen Sie Umgebungs- und Shell-Variablen in Linux

  4. So installieren und verwenden Sie den Ping-Befehl unter Linux

  5. So installieren Sie CVS und erstellen ein CVS-Repository auf einem Linux-Server

So installieren Sie Mosh Shell als SSH-Alternative unter Linux

So installieren und verwenden Sie Nu Shell unter Linux

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

So installieren Sie Fish Shell unter Ubuntu und Linux Mint

So installieren, konfigurieren und aktivieren Sie den SSH-Dienst unter Linux

So installieren Sie Mosh Shell als SSH-Alternative auf einem Linux-Desktop