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

Linux-Laptop mit Shell-Eingabeaufforderung

Fatmawati Achmad Zaenuri/Shutterstock.com



Nehmen Sie Cybersicherheit ernst und verwenden Sie SSH-Schlüssel, um auf Remote-Logins zuzugreifen. Sie sind eine sicherere Möglichkeit, 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 zum Anmelden bei Benutzerkonten unter Remote-Linux oder Unix-ähnlich Computers. 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 nach der Einrichtung 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.

Anzeige

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.

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 können Remote-Verbindung mit dem Remote-Computer herstellen und sich anmelden . 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.

Anzeige

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 |_+_| ist an einem Computer namens |_+_| . angemeldet . Sie werden sich mit einem anderen Computer namens |_+_| verbinden.

Sie geben folgenden Befehl ein:

dave

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

Benutzer Dave hat sich mit ssh und einem Passwort mit sulaco verbunden

Das ist die Bestätigung, die wir brauchen. Also Benutzer |_+_| kann sich von |_+_| . trennen mit dem |_+_| Befehl:

howtogeek

Benutzer Dave von Sulaco getrennt

Sie erhalten die Trennnachricht und ihre Befehlszeilenaufforderung kehrt zu |_+_| zurück.

VERBUNDEN: So stellen Sie eine Verbindung zu einem SSH-Server von Windows, macOS oder Linux her

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.

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

Sulaco

Anzeige

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 die angezeigte 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 |_+_| . installieren , den Remote-Computer, damit dieser weiß, dass der öffentliche Schlüssel Ihnen gehört.

Anzeige

Wir tun dies mit dem |_+_| Befehl. Dieser Befehl stellt eine Verbindung zum Remote-Computer her, wie beim normalen |_+_| Befehl, aber anstatt Ihnen zu erlauben, sich anzumelden, überträgt er den öffentlichen SSH-Schlüssel.

dave

ssh-copy-id dave@sulaco

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. Das ist nicht die soeben erstellte Passphrase.

Wenn das Passwort verifiziert wurde, |_+_| überträgt Ihren öffentlichen Schlüssel auf den Remote-Computer.

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.

Sulaco

Anzeige

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.

Dialogfeld

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 Anfang bis Ende zu überprüfen, trennen Sie die Verbindung mit dem |_+_| Befehl und verbinden Sie sich erneut mit dem Remote-Computer über dasselbe Terminalfenster.

exit

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 erhalten. Normalerweise sind ein oder zwei zusätzliche Schritte erforderlich, um eine sicherere Arbeitsweise einzuführen. Und die meisten mögen es nicht. Sie bevorzugen tatsächlich eine geringere Sicherheit und das Fehlen von Reibung. Das ist die menschliche Natur.

Anzeige

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

WEITER LESEN Profilfoto von Dave McKay Dave McKay
Dave McKay benutzte zum ersten Mal Computer, als Lochstreifen in Mode waren, und programmiert seitdem. Nach über 30 Jahren in der IT-Branche ist er heute hauptberuflich Technologiejournalist. Im Laufe seiner Karriere war er als freiberuflicher Programmierer, Leiter eines internationalen Softwareentwicklungsteams, Projektleiter für IT-Services und zuletzt als Datenschutzbeauftragter tätig. Sein Schreiben wurde von howtogeek.com, cloudavvyit.com, itenterpriser.com und opensource.com veröffentlicht. Dave ist ein Linux-Evangelist und Open-Source-Verfechter.
Vollständige Biografie lesen

Interessante Artikel