Zum Hauptinhalt springen

Wie man SSH-Schlüssel in Linux generiert: Schritt für Schritt Anleitung

SSH-Schlüssel - dies ist eine zuverlässige Authentifizierungsmethode, wenn Sie eine Verbindung zu Remote-Servern herstellen. Sie verschlüsseln die Daten und ermöglichen eine sichere Verbindung zwischen dem Client und dem Server. Unter Linux gibt es mehrere Möglichkeiten, SSH-Schlüssel zu generieren, die eine sichere Kommunikation mit Remote-Servern ermöglichen.

In diesem Artikel werden wir uns eine schrittweise Anleitung zum Generieren von SSH-Schlüsseln unter Linux ansehen.

Schritt 1: Öffnen des Terminals

Der erste Schritt ist, das Terminal auf Ihrem Computer zu öffnen. Das Terminal ermöglicht es Ihnen, Befehle auf Remote-Servern auszuführen und SSH-Schlüssel zu generieren.

Schritt 2: Generieren von SSH-Schlüsseln

Verwenden Sie den Befehl ssh-keygen, um unter Linux SSH-Schlüssel zu generieren. Sie werden aufgefordert, einen Speicherort für die Schlüssel auszuwählen und zusätzliche Optionen wie die Passwortphrase einzugeben, um den Schlüssel zu schützen.

Nach erfolgreichem Ausführen des SSH-Befehls werden die Schlüssel generiert und an dem von Ihnen gewählten Speicherort gespeichert.

Jetzt können Sie den generierten SSH-Schlüssel verwenden, um eine sichere Verbindung zu Remote-Servern herzustellen, Dateien zu senden oder andere Aufgaben im Zusammenhang mit der Arbeit unter Linux auszuführen.

Warum brauchen Sie SSH-Schlüssel und wie funktioniert die Verschlüsselung

SSH-Schlüssel ermöglicht eine sichere Verbindung zwischen dem Client und dem Server bei Verwendung des SSH-Protokolls. Sie werden verwendet, um den Client beim Server zu authentifizieren und die zwischen ihnen übertragenen Daten zu verschlüsseln.

SSH-Schlüssel bestehen aus zwei Teilen: einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel wird auf dem Clientcomputer gespeichert und ist das Passwort für den Zugriff auf den Server. Der öffentliche Schlüssel wird an den Server übertragen und dort in einer speziellen Datei gespeichert.

Während der Authentifizierung verwendet eine Clientanwendung (z. B. ein SSH-Client auf dem lokalen Computer) einen privaten Schlüssel, um eine Nachricht digital zu signieren, und der Server verwendet einen entsprechenden öffentlichen Schlüssel, um diese Signatur zu überprüfen und den Client zu authentifizieren.

Der Prozess der Datenverschlüsselung die Verwendung von SSH-Schlüsseln besteht aus den folgenden Schritten:

  1. Der Client und der Server vereinbaren Verschlüsselungseinstellungen.
  2. Der Client generiert einen Sitzungsschlüssel, der zum Verschlüsseln und Entschlüsseln von Daten verwendet wird.
  3. Der Sitzungsschlüssel wird mit dem öffentlichen Schlüssel des Servers verschlüsselt und an den Server gesendet.
  4. Auf dem Server wird der Sitzungsschlüssel mit dem privaten Schlüssel des Servers entschlüsselt und zum Verschlüsseln und Entschlüsseln von Daten verwendet.

Daher stellt die Verwendung von SSH-Schlüsseln eine sichere Verbindung zwischen Client und Server sicher, da der private Schlüssel niemals über das Netzwerk übertragen oder an Dritte weitergegeben wird.

Wie installiere ich SSH unter Linux und bereite mich auf die Schlüsselgenerierung vor

In diesem Artikel betrachten wir schrittweise Anweisungen zur Installation von SSH und zur Vorbereitung der Schlüsselgenerierung auf einem Linux-Betriebssystem.

1. Öffnen Sie ein Terminal auf Ihrem Linux-Computer.

2. Installieren Sie das OpenSSH-Paket mithilfe des Paketmanagers Ihrer Distribution. Führen Sie für Debian/Ubuntu den Befehl aus:

sudo apt-get install openssh-server

3. Konfigurieren Sie nach der Installation den SSH-Server, indem Sie die Konfigurationsdatei bearbeiten. Für die meisten Distributionen ist dies die Datei /etc/ssh/sshd_config . Zum Beispiel:

sudo nano /etc/ssh/sshd_config

4. Suchen und bearbeiten Sie in der Konfigurationsdatei die folgenden Zeilen:

#Port 22
#PermitRootLogin yes
#PasswordAuthentication yes

Deaktivieren Sie diese Zeilen, indem Sie das # -Zeichen am Anfang jeder Zeile entfernen.

Port 22
PermitRootLogin no
PasswordAuthentication no

Deaktivieren Sie die Root-Anmeldung und die Passwortanmeldung, um die Sicherheit zu erhöhen.

5. Speichern Sie die Änderungen in der Konfigurationsdatei, und starten Sie den SSH-Server neu:

sudo service ssh restart

Jetzt ist Ihr SSH-Server konfiguriert und bereit, SSH-Schlüssel zu generieren.

Generieren von SSH-Schlüsseln über die Befehlszeile

Sie können die Befehlszeile verwenden, um SSH-Schlüssel unter Linux zu generieren. Hier ist eine Schritt-für-Schritt-Anleitung:

SchrittDas TeamDie Beschreibung
1 ssh-keygen -t rsa -b 4096 -C "[email protected]" Führen Sie den Befehl aus, um die Schlüssel zu generieren. Die Option -b wird verwendet, um die Schlüsselgröße anzugeben, in diesem Fall 4096 Bits. Mit der Option -C können Sie einen Kommentar mit Ihrer E-Mail-Adresse hinzufügen.
2 Enter file in which to save the key (/home/username/.ssh/id_rsa): Das System fragt nach dem Pfad und dem Namen der Datei, in der der Schlüssel gespeichert werden soll. Sie können einfach die Eingabetaste drücken, um den Standardpfad und den Dateinamen zu verwenden.
3 Enter passphrase (empty for no passphrase): Erfinden Sie ein Passwort für den Schlüssel und geben Sie es ein. Wenn Sie dieses Feld leer lassen, wird kein Passwort festgelegt.
4 Enter same passphrase again: Geben Sie das Passwort zur Bestätigung erneut ein.
5 Your identification has been saved in /home/username/.ssh/id_rsa Die Schlüssel wurden erfolgreich generiert und gespeichert. Die Nachricht gibt den Pfad und den Namen der Datei an, in der sie gespeichert sind.

Jetzt haben Sie ein Paar SSH-Schlüssel - privat und öffentlich. Privater Schlüssel (/home/username/.ssh/id_rsa) muss an einem sicheren Ort aufbewahrt werden und sollte nicht für Fremde zugänglich sein. Öffentlicher Schlüssel (/home/username/.ssh/id_rsa.pub) kann an andere Benutzer weitergegeben oder zum Konfigurieren des Remote-Zugriffs verwendet werden.

Das Generieren von SSH-Schlüsseln über die Befehlszeile ist eine einfache Möglichkeit, eine sichere Verbindung zu gewährleisten, wenn Sie mit Linux arbeiten.

Wie füge ich die generierten Schlüssel zu einem Remote-Server hinzu

Nachdem Sie die SSH-Schlüssel auf Ihrem lokalen Computer unter dem Linux-Betriebssystem generiert haben, können Sie sie verwenden, um sie auf Remote-Servern zu autorisieren. Hier finden Sie eine schrittweise Anleitung zum Hinzufügen der generierten Schlüssel zu einem Remote-Server:

  1. Kopieren Sie Ihren öffentlichen Schlüssel (Erweiterung .pub) von Ihrem lokalen Computer. Sie können beispielsweise den Befehl cat ~/ verwenden.ssh/id_rsa.pub, um den öffentlichen Schlüssel im Terminal anzuzeigen.
  2. Melden Sie sich mit Ihrem Passwort beim Remote-Server über SSH an.
  3. Öffnen Sie die Datei ~/.ssh/authorized_keys auf einem Remote-Server mit einem Texteditor. Wenn die Datei nicht existiert, erstellen Sie sie.
  4. Fügen Sie den kopierten öffentlichen Schlüssel am Ende der authorized_keys-Datei auf dem Remoteserver ein.
  5. Speichern Sie die Änderungen in der Datei authorized_keys, und schließen Sie sie.
  6. Jetzt können Sie die Verbindung zum Remote-Server trennen.
  7. Wenn Sie das nächste Mal über SSH eine Verbindung zu einem Remote-Server herstellen, verwendet Ihr lokaler Computer die hinzugefügten Schlüssel zur Autorisierung anstelle des verwendeten Kennworts.

Jetzt wissen Sie, wie Sie die generierten Schlüssel zum Remote-Server hinzufügen. Dies erhöht die Sicherheit und Benutzerfreundlichkeit der Verbindung zu Remote-Servern erheblich, da Sie die Verwendung von Kennwörtern zur Autorisierung vermeiden können.