Zum Hauptinhalt springen

Wie erstelle ich einen ssh key in Linux

SSH (Secure Shell) ist ein Netzwerksicherheitsprotokoll und ein System für die sichere Remote–Arbeit mit Computern. Es wird häufig in Linux-Systemen verwendet, um einen sicheren Zugriff auf Remote-Server zu ermöglichen und Daten zwischen ihnen zu übertragen. Das Erstellen und Verwenden von SSH-Schlüsseln ist eine der zuverlässigsten Methoden, um eine sichere Verbindung zum Server herzustellen.

SSH-Schlüssel sind eine Sammlung von kryptografischen Schlüsseln, die zur Authentifizierung verwendet werden, wenn eine Verbindung zu einem Remote-Server hergestellt wird. Der Schlüssel besteht aus öffentlichen und privaten Teilen. Der öffentliche Teil (public key) wird auf dem Server gespeichert, der private Teil (private key) wird auf dem lokalen Computer gespeichert. Wenn Sie eine Verbindung zum Server herstellen, verwendet SSH einen privaten Schlüssel, um den Benutzer zu authentifizieren, und mit einem öffentlichen Schlüssel überprüft der Server Ihr authentisches Verbindungsrecht.

Das Erstellen eines SSH-Schlüssels kann nützlich sein, wenn Sie den sicheren Zugriff auf Ihren Server oder die Interaktion mit einem anderen System mithilfe des SSH-Protokolls sicherstellen möchten. In diesem Artikel erfahren Sie, wie Sie einen SSH-Schlüssel unter Linux erstellen und wie Sie ihn verwenden, um eine sichere Verbindung zu einem Remote-Server herzustellen.

Definieren und Zuweisen von SSH-Schlüsseln

SSH-Schlüssel es handelt sich um kryptografische Tools, die zur Authentifizierung und sicheren Kommunikation zwischen Clients und Servern über das SSH-Protokoll (Secure Shell) verwendet werden. Jeder SSH-Schlüssel besteht aus zwei Teilen: einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel wird auf dem Clientcomputer gespeichert, und der öffentliche Schlüssel ist für den Server verfügbar, mit dem der Benutzer eine Verbindung herstellen möchte.

Die Verwendung von SSH-Schlüsseln bietet eine höhere Sicherheit als die Verwendung eines Passworts zur Authentifizierung, da die Schlüssel eindeutig sind und es mathematisch schwierig ist, einen gleichen Schlüssel für einen Angriff zu finden. Wenn Sie SSH-Schlüssel verwenden, werden die Schlüssel automatisch überprüft, anstatt ein Passwort einzugeben, wenn Sie eine Verbindung zum Server herstellen, um Komfort und Sicherheit zu gewährleisten.

Durch das Erstellen von SSH-Schlüsseln unter Linux können Benutzer ihren öffentlichen Schlüssel an die Server weitergeben, mit denen sie eine Verbindung herstellen möchten, und so eine sichere und automatisierte Verbindung herstellen, ohne jedes Mal ein Passwort eingeben zu müssen.

Wie erstelle ich einen SSH key in Linux

Um einen SSH key unter Linux zu erstellen, verwenden Sie den Befehl ssh-keygen. Dieser Befehl generiert ein Schlüsselpaar: privat und öffentlich. Der private Schlüssel verbleibt auf dem lokalen Computer und der öffentliche Schlüssel muss auf den Remote-Server kopiert werden.

Führen Sie die folgenden Schritte aus, um einen SSH key unter Linux zu erstellen:

Generating public/private rsa key pair.Enter file in which to save the key (/home/your_username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):Enter same passphrase again:
Your identification has been saved in /home/your_username/.ssh/id_rsa.Your public key has been saved in /home/your_username/.ssh/id_rsa.pub.The key fingerprint is:SHA256:abcdefghijklmnopqrstuvwxyz1234567890 [email protected] key's randomart image is:+---[RSA 4096]----+| || . || .o . || o+*.. || + o ooS. || . + E .+. ||. . . + ||. . . || |+-----------------+

Jetzt wurde Ihr SSH key erfolgreich erstellt. Die Schlüsseldateien befinden sich im Verzeichnis /home/your_username/.ssh/ auf Ihrem lokalen Rechner. Öffentlicher Schlüssel mit Erweiterung .pub enthält Ihren Benutzernamen und Ihren öffentlichen Schlüssel.

Um den SSH key bei der Verbindung mit einem Remote-Server zu verwenden, müssen Sie den öffentlichen Schlüssel auf den Server kopieren. Dies geschieht normalerweise, indem Sie der Datei ~/ einen öffentlichen Schlüssel hinzufügen.ssh/authorized_keys auf dem Server.

Jetzt können Sie Ihren SSH Key verwenden, um eine sichere Verbindung zu einem Remote-Server unter Linux herzustellen.

Schritt 1: Prüfen, ob Schlüssel vorhanden sind

Bevor Sie einen neuen SSH-Schlüssel erstellen, sollten Sie überprüfen, ob Sie bereits vorhandene Schlüssel auf Ihrem Gerät haben.

Sie können nach Schlüsseln suchen, indem Sie die folgenden Befehle im Terminal ausführen:

Das TeamDie Beschreibung
ls -al ~/.sshDen Inhalt des Katalogs anzeigen .ssh, wo normalerweise Schlüssel gespeichert werden
cat ~/.ssh/id_rsa.pubZeigt den Inhalt des öffentlichen Schlüssels an (id_rsa.pub)
cat ~/.ssh/id_dsa.pubDen Inhalt des öffentlichen Schlüssels anzeigen (id_dsa.pub)

Wenn der Befehl ls -al ~/ ist.ssh findet keine Dateien, Sie haben also keine Schlüssel und können mit dem nächsten Schritt fortfahren.

Wenn jedoch der Befehl ls -al ~/ ist.ssh zeigt eine oder beide der folgenden Dateien an:

Das bedeutet, dass Sie bereits über Schlüssel verfügen und diese für SSH-Verbindungen verwenden können. Wenn Sie einen neuen Schlüssel für ein anderes System erstellen oder ein anderes Passwort verwenden möchten, können Sie diesen Schritt überspringen, indem Sie zum nächsten übergehen.

Schritt 2: Neue Schlüssel erstellen

1. Öffnen Sie ein Terminal und geben Sie den Befehl ein:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Ersetzen Sie "[email protected] " zu Ihrer GitHub-bezogenen E-Mail.

2. Nachdem Sie den Befehl eingegeben haben, wird eine Meldung angezeigt:

Generating public/private rsa key pair.

3. Drücken Sie die Eingabetaste, um den Standardspeicherort und den Dateinamen des Schlüssels zu übernehmen.

4. Sie werden dann aufgefordert, Ihr Passwort einzugeben:

Enter passphrase (empty for no passphrase):

Die Eingabe eines Kennworts ist nicht erforderlich, wird jedoch zur Erhöhung der Sicherheit empfohlen. Wenn Sie kein Passwort verwenden möchten, drücken Sie einfach die Eingabetaste.

5. Nachdem Sie das Passwort eingegeben haben, wird eine Meldung angezeigt:

Your identification has been saved in /home/your_username/.ssh/id_rsa.
Your public key has been saved in /home/your_username/.ssh/id_rsa.pub.

6. Ihre neuen Schlüssel werden erstellt! Jetzt können Sie mit dem nächsten Schritt fortfahren - den SSH-Agent konfigurieren.

Schritt 3: Speichern des öffentlichen Schlüssels

Nachdem Sie das Schlüsselpaar erfolgreich generiert haben, müssen Sie den öffentlichen Schlüssel auf dem Remote-Server speichern, auf den Sie zugreifen möchten. Dies ermöglicht es dem Server, sich mit SSH-Schlüsseln zu authentifizieren.

Führen Sie die folgenden Schritte aus, um den öffentlichen Schlüssel zu speichern:

1.Kopieren Sie den Inhalt des öffentlichen Schlüssels.
2.Melden Sie sich mit Ihrem Benutzernamen und Passwort am Remote-Server an.
3.Öffnen Sie die Datei ~/.ssh/authorized_keys auf einem Remote-Server zur Bearbeitung.
4.Fügen Sie den kopierten Inhalt des öffentlichen Schlüssels in die Datei ~/ ein.ssh/authorized_keys .
5.Speichern Sie die Änderungen, und schließen Sie die Datei.
6.Führen Sie den Befehl chmod 600 ~/ aus.ssh/authorized_keys, um die richtigen Berechtigungen für die Datei festzulegen.

Der Server authentifiziert Sie jetzt automatisch, wenn Sie Ihren privaten SSH-Schlüssel verwenden.

Schritt 4: Hinzufügen des Schlüssels zum Remote-Server

Nachdem wir den SSH-Schlüssel auf dem lokalen Computer erstellt haben, müssen wir ihn dem Remote-Server hinzufügen, um darauf zuzugreifen, ohne ein Passwort einzugeben.

Führen Sie dazu die folgenden Schritte aus:

  1. Melden Sie sich mit Ihren Anmeldeinformationen (Benutzername und Kennwort) am Remoteserver an.
  2. Öffnen Sie die Datei ~/.ssh/authorized_keys auf einem Remote-Server in einem Texteditor.
  3. Kopieren Sie den öffentlichen id_rsa-Schlüssel.pub vom lokalen Computer, und fügen Sie ihn am Ende der authorized_keys-Datei auf dem Remoteserver ein.
  4. Speichern Sie die Änderungen in der Datei authorized_keys, und schließen Sie den Texteditor.

Nachdem Sie den Schlüssel erfolgreich dem Remote-Server hinzugefügt haben, können Sie nur mit Ihrem privaten Schlüssel eine SSH-Verbindung herstellen, ohne ein Passwort einzugeben.