So erstellen und installieren Sie SSH-Schlüssel aus der Linux-Shell

Nehmen Sie Cybersicherheit ernst und verwenden Sie SSH-Schlüssel, um auf Remote-Logins zuzugreifen. Sie sind ein sichererer Weg, um eine Verbindung herzustellen als Passwörter. Wir zeigen Ihnen, wie Sie SSH-Schlüssel unter Linux generieren, installieren und verwenden.

Was ist falsch an Passwörtern?

Secure Shell (SSH) ist das verschlüsselte Protokoll, das verwendet wird, um sich bei Benutzerkonten auf entfernten Linux- oder Unix-ähnlichen Computern anzumelden. Normalerweise werden solche Benutzerkonten mit Passwörtern gesichert. Wenn Sie sich bei einem Remote-Computer anmelden, müssen Sie den Benutzernamen und das Kennwort für das Konto angeben, bei dem Sie sich anmelden.

Passwörter sind das gebräuchlichste Mittel, um den Zugriff auf Computerressourcen zu sichern. Trotzdem hat die passwortbasierte Sicherheit ihre Schwächen. Menschen wählen schwache Passwörter, teilen Passwörter, verwenden dasselbe Passwort auf mehreren Systemen und so weiter.

SSH-Schlüssel sind viel sicherer, und wenn sie einmal eingerichtet sind, sind sie genauso einfach zu verwenden wie Passwörter.

Was macht SSH-Schlüssel sicher?

SSH-Schlüssel werden paarweise erstellt und verwendet. Die beiden Schlüssel sind verknüpft und kryptographisch sicher. Einer ist Ihr öffentlicher Schlüssel und der andere ist Ihr privater Schlüssel. Sie sind an Ihr Benutzerkonto gebunden. Wenn mehrere Benutzer auf einem einzelnen Computer SSH-Schlüssel verwenden, erhält jeder sein eigenes Schlüsselpaar.

Ihr privater Schlüssel wird (normalerweise) in Ihrem Benutzerordner installiert, und der öffentliche Schlüssel wird auf dem oder den Remote-Computern installiert, auf die Sie zugreifen müssen.

Ihr privater Schlüssel muss sicher aufbewahrt werden. Wenn es anderen zugänglich ist, befinden Sie sich in der gleichen Situation, als hätten sie Ihr Passwort entdeckt. Eine sinnvolle – und dringend empfohlene – Vorsichtsmaßnahme besteht darin, Ihren privaten Schlüssel auf Ihrem Computer mit einem robusten . zu verschlüsseln Passphrase.

Der öffentliche Schlüssel kann frei weitergegeben werden, ohne dass Ihre Sicherheit beeinträchtigt wird. Es ist nicht möglich, anhand einer Untersuchung des öffentlichen Schlüssels zu bestimmen, was der private Schlüssel ist. Der private Schlüssel kann Nachrichten verschlüsseln, die nur der private Schlüssel entschlüsseln kann.

  So installieren und verwenden Sie Stacer unter Linux

Wenn Sie eine Verbindungsanfrage stellen, verwendet der Remote-Computer seine Kopie Ihres öffentlichen Schlüssels, um eine verschlüsselte Nachricht zu erstellen. Die Nachricht enthält eine Sitzungs-ID und andere Metadaten. Nur der Computer, der den privaten Schlüssel besitzt – Ihr Computer – kann diese Nachricht entschlüsseln.

Ihr Computer greift auf Ihren privaten Schlüssel zu und entschlüsselt die Nachricht. Es sendet dann seine eigene verschlüsselte Nachricht zurück an den Remote-Computer. Diese verschlüsselte Nachricht enthält unter anderem die Sitzungs-ID, die vom entfernten Computer empfangen wurde.

Der Remote-Computer weiß jetzt, dass Sie derjenige sein müssen, für den Sie sich ausgeben, da nur Ihr privater Schlüssel die Sitzungs-ID aus der an Ihren Computer gesendeten Nachricht extrahieren kann.

Stellen Sie sicher, dass Sie auf den Remote-Computer zugreifen können

Stellen Sie sicher, dass Sie eine Remote-Verbindung mit dem Remote-Computer herstellen und sich anmelden können. Dies beweist, dass für Ihren Benutzernamen und Ihr Kennwort ein gültiges Konto auf dem Remote-Computer eingerichtet ist und Ihre Anmeldeinformationen korrekt sind.

Versuchen Sie nicht, mit SSH-Schlüsseln etwas zu tun, bis Sie überprüft haben, dass Sie SSH mit Passwörtern verwenden können, um eine Verbindung zum Zielcomputer herzustellen.

In diesem Beispiel ist eine Person mit einem Benutzerkonto namens dave an einem Computer namens wdzwdz angemeldet. Sie werden sich mit einem anderen Computer namens Sulaco verbinden.

Sie geben folgenden Befehl ein:

ssh [email protected]

Sie werden nach ihrem Passwort gefragt, sie geben es ein und werden mit Sulaco verbunden. Ihre Befehlszeilenaufforderung ändert sich, um dies zu bestätigen.

Das ist die Bestätigung, die wir brauchen. Benutzer dave kann sich also mit dem Exit-Befehl von Sulaco trennen:

exit

Sie erhalten die Trennnachricht und ihre Befehlszeilenaufforderung kehrt zu zurück [email protected]

Ein Paar SSH-Schlüssel erstellen

Diese Anweisungen wurden auf Ubuntu-, Fedora- und Manjaro-Distributionen von Linux getestet. In allen Fällen war der Ablauf identisch, und es musste keine neue Software auf den Testmaschinen installiert werden.

  So installieren Sie den Otter-Browser unter Linux

Geben Sie den folgenden Befehl ein, um Ihre SSH-Schlüssel zu generieren:

ssh-keygen

Der Generierungsprozess beginnt. Sie werden gefragt, wo Ihre SSH-Schlüssel gespeichert werden sollen. Drücken Sie die Eingabetaste, um den Standardspeicherort zu akzeptieren. Die Berechtigungen für den Ordner sichern ihn nur für Ihre Verwendung.

Sie werden nun nach einer Passphrase gefragt. Wir empfehlen Ihnen dringend, hier eine Passphrase einzugeben. Und denken Sie daran, was es ist! Sie können die Eingabetaste drücken, um keine Passphrase zu verwenden, dies ist jedoch keine gute Idee. Eine Passphrase, die aus drei oder vier nicht verbundenen Wörtern besteht, die aneinandergereiht werden, ergibt eine sehr robuste Passphrase.

Sie werden aufgefordert, dieselbe Passphrase noch einmal einzugeben, um zu überprüfen, ob Sie das eingegeben haben, was Sie Ihrer Meinung nach eingegeben haben.

Die SSH-Schlüssel werden für Sie generiert und gespeichert.

Sie können den angezeigten „randomart“ ignorieren. Einige Remote-Computer zeigen Ihnen möglicherweise bei jeder Verbindung ihre zufällige Grafik. Die Idee ist, dass Sie erkennen, wenn sich die zufällige Grafik ändert, und die Verbindung misstrauisch sind, da dies bedeutet, dass die SSH-Schlüssel für diesen Server geändert wurden.

Installieren des öffentlichen Schlüssels

Wir müssen Ihren öffentlichen Schlüssel auf Sulaco, dem Remote-Computer, installieren, damit dieser weiß, dass der öffentliche Schlüssel Ihnen gehört.

Wir tun dies mit dem Befehl ssh-copy-id. Dieser Befehl stellt wie der normale ssh-Befehl eine Verbindung zum Remote-Computer her, aber anstatt Ihnen die Anmeldung zu ermöglichen, überträgt er den öffentlichen SSH-Schlüssel.

ssh-copy-id [email protected]

Obwohl Sie sich nicht beim Remote-Computer anmelden, müssen Sie sich dennoch mit einem Kennwort authentifizieren. Der Remote-Computer muss erkennen, zu welchem ​​Benutzerkonto der neue SSH-Schlüssel gehört.

Beachten Sie, dass das Passwort, das Sie hier angeben müssen, das Passwort für das Benutzerkonto ist, bei dem Sie sich anmelden. Dies ist nicht die gerade erstellte Passphrase.

Wenn das Passwort verifiziert wurde, überträgt ssh-copy-id Ihren öffentlichen Schlüssel auf den Remote-Computer.

  So spielen Sie Classic DOOM unter Linux mit der Doomsday Engine

Sie kehren zur Eingabeaufforderung Ihres Computers zurück. Sie bleiben nicht mit dem Remote-Computer verbunden.

Verbindung über SSH-Schlüssel herstellen

Folgen wir dem Vorschlag und versuchen, eine Verbindung zum Remote-Computer herzustellen.

ssh [email protected]

Da für den Verbindungsvorgang Zugriff auf Ihren privaten Schlüssel erforderlich ist und Sie Ihre SSH-Schlüssel hinter einer Passphrase geschützt haben, müssen Sie Ihre Passphrase angeben, damit die Verbindung fortgesetzt werden kann.

Geben Sie Ihre Passphrase ein und klicken Sie auf die Schaltfläche Entsperren.

Nachdem Sie Ihre Passphrase in einer Terminalsitzung eingegeben haben, müssen Sie sie nicht erneut eingeben, solange das Terminalfenster geöffnet ist. Sie können beliebig viele Remote-Sitzungen verbinden und trennen, ohne Ihre Passphrase erneut eingeben zu müssen.

Sie können das Kontrollkästchen für die Option „Diesen Schlüssel automatisch entsperren, wenn ich eingeloggt bin“ aktivieren, aber dies verringert Ihre Sicherheit. Wenn Sie Ihren Computer unbeaufsichtigt lassen, kann jeder eine Verbindung zu den Remote-Computern herstellen, die über Ihren öffentlichen Schlüssel verfügen.

Sobald Sie Ihre Passphrase eingegeben haben, sind Sie mit dem Remote-Computer verbunden.

Um den Vorgang noch einmal von Ende zu Ende zu überprüfen, trennen Sie die Verbindung mit dem Befehl exit und stellen Sie die Verbindung zum Remote-Computer über dasselbe Terminalfenster wieder her.

ssh [email protected]

Sie werden mit dem Remote-Computer verbunden, ohne dass ein Passwort oder eine Passphrase erforderlich ist.

Keine Passwörter, aber erhöhte Sicherheit

Cybersicherheitsexperten sprechen von einer Sache namens Sicherheitsfriktion. Das ist der kleine Schmerz, den Sie ertragen müssen, um zusätzliche Sicherheit zu gewinnen. Normalerweise sind ein oder zwei zusätzliche Schritte erforderlich, um eine sicherere Arbeitsweise einzuführen. Und die meisten Leute mögen es nicht. Sie bevorzugen tatsächlich eine geringere Sicherheit und das Fehlen von Reibung. Das ist die menschliche Natur.

Mit SSH-Schlüsseln erhalten Sie erhöhte Sicherheit und ein Plus an Komfort. Das ist eine definitive Win-Win-Situation.