Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills
21.10.2024
No categories

SSH-Schlüssel mit OpenSSH unter MacOS oder Linux erstellen

In der Welt der sicheren Fernkommunikation ist SSH (Secure Shell) eines der am häufigsten verwendeten Protokolle für die Verbindung mit entfernten Servern. SSH bietet eine sichere Methode, sich bei entfernten Rechnern anzumelden und Befehle über ein Netzwerk auszuführen. Eine der sichersten Methoden zur Authentifizierung mit SSH ist die Verwendung von SSH-Schlüsseln, die eine passwortlose Authentifizierung ermöglichen und eine zusätzliche Sicherheitsebene darstellen. SSH-Schlüssel werden in Paaren geliefert: ein privater Schlüssel und ein öffentlicher Schlüssel. In diesem Artikel gehen wir die Schritte zur Erstellung von SSH-Schlüsseln mit OpenSSH unter macOS oder Linux durch

Was sind SSH-Schlüssel?

SSH-Schlüssel sind ein Paar kryptografischer Schlüssel, die zur Authentifizierung eines Clients (Ihres Computers) gegenüber einem SSH-Server verwendet werden. Der öffentliche Schlüssel befindet sich auf dem Server, während der private Schlüssel auf dem Client-Rechner aufbewahrt wird. Wenn Sie versuchen, sich anzumelden, vergleicht der Server den öffentlichen Schlüssel mit dem privaten Schlüssel, um Ihre Identität zu überprüfen. Im Gegensatz zu Passwörtern sind SSH-Schlüssel nicht anfällig für Brute-Force-Angriffe, was sie zu einer äußerst sicheren Authentifizierungsmethode macht

Warum SSH-Schlüssel verwenden?

  • Erhöhte Sicherheit: SSH-Schlüssel sind schwieriger zu knacken als herkömmliche Passwörter, wodurch das Risiko eines unbefugten Zugriffs verringert wird.
  • Passwortlose Authentifizierung: Einmal eingerichtet, können Sie sich mit SSH-Schlüsseln bei Servern anmelden, ohne jedes Mal ein Passwort eingeben zu müssen.
  • Automatisierte Prozesse: SSH-Schlüssel sind ideal für die Automatisierung von Skripten, Backups und Dateiübertragungen, die einen sicheren Fernzugriff erfordern.

Voraussetzungen

Um diese Anleitung zu befolgen, benötigen Sie

  1. Einen macOS- oder Linux-Rechner mit installiertem OpenSSH (OpenSSH ist auf beiden Plattformen standardmäßig enthalten).
  2. Zugriff auf einen Remote-Server, auf dem Sie den öffentlichen Schlüssel ablegen.

Schritt-für-Schritt-Anleitung zur Erstellung von SSH-Schlüsseln

Schritt 1: Öffnen Sie ein Terminal

Sowohl unter macOS als auch unter Linux bietet die Terminal-App eine Schnittstelle für die Ausführung von Befehlszeilenbefehlen. Öffnen Sie das Terminal, indem Sie

  • macOS: Suchen Sie in Spotlight nach “Terminal” (drücken Sie Cmd + Leertaste) oder finden Sie es unter Programme > Dienstprogramme.
  • Linux: Drücken Sie Strg + Alt + T, oder suchen Sie Terminal in Ihrem Anwendungsmenü.

Schritt 2: Erzeugen des SSH-Schlüsselpaars

Um ein neues SSH-Schlüsselpaar zu erzeugen, verwenden Sie den folgenden Befehl im Terminal

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Erläuterung der Optionen

  • t rsa: Gibt den Typ des zu erstellenden Schlüssels an. RSA ist einer der am häufigsten verwendeten Algorithmen.
  • b 4096: Setzt die Schlüssellänge auf 4096 Bit, um die Sicherheit zu erhöhen.
  • C “your_email@example.com”: Dies fügt dem Schlüssel einen Kommentar hinzu, der in der Regel zur Identifizierung des Schlüssels dient. Ersetzen Sie ihn durch Ihre E-Mail-Adresse oder einen beschreibenden Namen.

Wenn Sie diesen Befehl ausführen, erhalten Sie eine Ausgabe ähnlich der folgenden

Generating public/private rsa key pair.
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Schritt 3: Wählen Sie einen Dateispeicherort (optional)

Standardmäßig wird der Schlüssel im Verzeichnis .ssh in Ihrem Home-Ordner als id_rsa (privater Schlüssel) und id_rsa.pub (öffentlicher Schlüssel) gespeichert. Drücken Sie die Eingabetaste, um den Standardspeicherort zu bestätigen, oder geben Sie einen anderen Pfad an. Beispiel

Enter file in which to save the key (/Users/yourusername/.ssh/id_rsa): [Press Enter]

Schritt 4: Festlegen einer Passphrase (optional, aber empfohlen)

Als nächstes werden Sie aufgefordert, eine Passphrase für Ihren Schlüssel festzulegen

Enter passphrase (empty for no passphrase):

Eine Passphrase bietet eine zusätzliche Sicherheitsebene, da Sie sie jedes Mal eingeben müssen, wenn Sie Ihren privaten Schlüssel verwenden. Sie können dieses Feld leer lassen, wenn Sie keine Passphrase verwenden möchten (obwohl dies für eine erhöhte Sicherheit empfohlen wird). Wenn Sie eine Passphrase festlegen, stellen Sie sicher, dass Sie sich diese gut merken oder sicher speichern können

Schritt 5: Bestätigen Sie die Erstellung des Schlüsselpaars

Nach Abschluss der Schritte sehen Sie eine Ausgabe ähnlich der folgenden

Dies zeigt an, dass sowohl der private Schlüssel (id_rsa) als auch der öffentliche Schlüssel (id_rsa.pub) erfolgreich erstellt und im .ssh-Verzeichnis gespeichert wurden

Schritt 6: Kopieren Sie den öffentlichen Schlüssel auf den Server

Nachdem Sie nun Ihr SSH-Schlüsselpaar erzeugt haben, müssen Sie den öffentlichen Schlüssel auf den entfernten Server kopieren, auf dem Sie sich anmelden möchten. Sie können den Befehl ssh-copy-id verwenden, um diesen Vorgang zu automatisieren

ssh-copy-id user@your-server.com

Ersetzen Sie user@your-server.com durch Ihren tatsächlichen Benutzernamen und die Serveradresse. Sie werden aufgefordert, Ihr Passwort für den entfernten Server einzugeben. Wenn ssh-copy-id nicht verfügbar ist, können Sie den öffentlichen Schlüssel auch manuell kopieren

  1. Zeigen Sie den Inhalt Ihres öffentlichen Schlüssels an, indem Sie ihn ausführen
    cat ~/.ssh/id_rsa.pub
  2. Kopieren Sie die Ausgabe und fügen Sie sie in die Datei.ssh/authorized_keys auf dem Remote-Server ein. Sie können dies tun, indem Sie sich auf dem Server anmelden
    ssh user@your-server.com

    Erstellen Sie dann das Verzeichnis .ssh (falls es noch nicht existiert) und fügen Sie den Schlüssel hinzu

    mkdir -p ~/.ssh
    echo "your-copied-public-key" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

Schritt 7: Testen Sie die SSH-Verbindung

Sobald der öffentliche Schlüssel auf den Remote-Server kopiert wurde, können Sie die Verbindung testen

ssh user@your-server.com

Wenn alles korrekt eingerichtet ist, sollten Sie sich ohne Eingabe eines Passworts anmelden können (es sei denn, Sie haben eine Passphrase für Ihren Schlüssel festgelegt, dann müssen Sie diese eingeben)

SSH-Schlüssel verwalten

  • Alle Schlüssel auflisten: Wenn Sie mehrere Schlüssel haben, können Sie sie auflisten, indem Sie zum Verzeichnis .ssh navigieren
    ls ~/.ssh
  • Schlüssel zum SSH-Agenten hinzufügen: Wenn Sie die wiederholte Eingabe der Passphrase vermeiden wollen, können Sie Ihren Schlüssel zum SSH-Agenten hinzufügen
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

Schlussfolgerung

Das Erstellen von SSH-Schlüsseln mit OpenSSH unter macOS oder Linux ist eine einfache, aber wirkungsvolle Methode, um die Sicherheit Ihrer Remote-Server-Verbindungen zu verbessern. Anstatt sich ausschließlich auf Passwörter zu verlassen, die erraten oder erzwungen werden können, bieten SSH-Schlüssel eine kryptografische Methode der Authentifizierung, die sowohl sicherer als auch bequemer ist. Ein einmal generiertes SSH-Schlüsselpaar ermöglicht es Ihnen, sich bei Servern anzumelden, ohne dass Sie jedes Mal Ihr Passwort eingeben müssen. Das spart nicht nur Zeit, sondern verringert auch das Risiko eines unbefugten Zugriffs. Mit den OpenSSH-Tools ist das Erstellen, Kopieren und Verwalten von Schlüsseln einfach, selbst für Benutzer, die keine fortgeschrittenen Systemadministratoren sind. Das Endergebnis ist ein reibungsloser Arbeitsablauf und ein besserer Schutz für Ihre Infrastruktur. Mit dem Befehl ssh-keygen -t ed25519 -C “your_email@example.com” wird beispielsweise ein neuer SSH-Schlüssel mit moderner Verschlüsselung erstellt und lokal auf Ihrem Rechner gespeichert. Nachdem Sie den öffentlichen Schlüssel zur Datei ~/.ssh/authorized_keys Ihres Servers hinzugefügt haben, können Sie sich mit ssh user@server verbinden, ohne ein Passwort einzugeben. Dieser Ansatz kombiniert Sicherheit und Effizienz und macht SSH-Schlüssel zu einem unschätzbaren Wert für Entwickler, Systemadministratoren und alle, die regelmäßig entfernte Rechner verwalten

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills

Похожие записи не найдены.