Sicherer Zugang zu Ihrem Server

Einführung

SSH (Secure Shell) ist ein verschlüsseltes Protokoll, das für die Verwaltung und Kommunikation mit Servern verwendet wird. Wenn Sie mit einem Linux-Server arbeiten, verbringen Sie einen Großteil Ihrer Zeit in einer SSH-Session. In dieser Anleitung lernen Sie, wie Sie sich mit SSH-Schlüsseln sicher bei Ihrem Server anmelden können – eine Methode, die wir aus Sicherheitsgründen empfehlen.

Wie funktionieren SSH-Schlüssel?

Ein SSH-Server kann auf verschiedene Weise Clients authentifizieren. Die gängigste Methode ist die Passwortauthentifizierung. Sie ist jedoch anfällig für Brute-Force-Angriffe und daher nicht besonders sicher. SSH-Schlüssel bieten eine wesentlich sicherere Möglichkeit, sich zu authentifizieren.

Was ist ein SSH-Schlüsselpaar?

Ein SSH-Schlüsselpaar besteht aus zwei kryptografischen Schlüsseln:

  • Privater Schlüssel: Dieser bleibt bei Ihnen und sollte niemals weitergegeben werden. Um den Schlüssel zusätzlich abzusichern, kann eine Passphrase verwendet werden.
  • Öffentlicher Schlüssel: Dieser kann frei geteilt werden. Er wird auf dem Server abgelegt und verwendet, um sich mit dem privaten Schlüssel zu authentifizieren.

Warum SSH-Schlüssel sicherer sind

SSH-Schlüssel sind deutlich sicherer als Passwörter, da die Wahrscheinlichkeit eines erfolgreichen Brute-Force-Angriffs auf einen SSH-Schlüssel extrem gering ist. Wenn Sie den privaten Schlüssel mit einer Passphrase verschlüsseln, bieten Sie eine zusätzliche Schutzschicht.


Schritt 1: Erstellen von SSH-Schlüsseln

Um die SSH-Schlüsselauthentifizierung einzurichten, müssen Sie zunächst ein SSH-Schlüsselpaar auf Ihrem lokalen Rechner generieren.

Erstellen des Schlüsselpaares

Verwenden Sie das Tool ssh-keygen, das in der OpenSSH-Suite enthalten ist, um ein RSA-Schlüsselpaar zu generieren.

Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein:

ssh-keygen
  1. Es wird nach dem Speicherort für das Schlüsselpaar gefragt. Drücken Sie Enter, um den Standardpfad (~/.ssh/id_rsa) zu akzeptieren.
  2. Geben Sie eine Passphrase ein, um den privaten Schlüssel zusätzlich abzusichern (optional, aber empfohlen).
  3. Der öffentliche Schlüssel wird in ~/.ssh/id_rsa.pub gespeichert, der private Schlüssel in ~/.ssh/id_rsa.

Schritt 2: Kopieren des öffentlichen Schlüssels auf den Server

Jetzt müssen Sie den öffentlichen Schlüssel auf den Remote-Server übertragen, um sich ohne Passwort anzumelden.

Methode 1: Verwendung von ssh-copy-id

Die einfachste Methode ist das Tool ssh-copy-id, das automatisch Ihren öffentlichen Schlüssel zum Server kopiert.

Geben Sie den folgenden Befehl ein:

ssh-copy-id username@remote_host
  1. Bestätigen Sie die Verbindung zum Server, indem Sie yes eingeben, wenn Sie aufgefordert werden.
  2. Geben Sie das Passwort für das Benutzerkonto auf dem Server ein.
  3. Der öffentliche Schlüssel wird in die Datei ~/.ssh/authorized_keys auf dem Server kopiert.

Methode 2: Manuelles Kopieren des öffentlichen Schlüssels

Wenn ssh-copy-id nicht verfügbar ist, können Sie den öffentlichen Schlüssel manuell kopieren:

Geben Sie den folgenden Befehl ein, um den Inhalt des öffentlichen Schlüssels anzuzeigen:

cat ~/.ssh/id_rsa.pub
  1. Kopieren Sie den gesamten Inhalt des Schlüssels.
  2. Melden Sie sich per SSH auf Ihrem Server an und fügen Sie den öffentlichen Schlüssel in die Datei ~/.ssh/authorized_keys ein:
echo "Ihr öffentlicher Schlüssel" >> ~/.ssh/authorized_keys

Schritt 3: Anmelden mit SSH-Schlüsseln

Nachdem Sie den öffentlichen Schlüssel auf den Server kopiert haben, können Sie sich mit Ihrem privaten Schlüssel ohne Passwort anmelden.

Geben Sie im Terminal folgenden Befehl ein:

ssh username@remote_host
  1. Wenn Sie beim Erstellen des Schlüssels eine Passphrase angegeben haben, müssen Sie diese jetzt eingeben.
  2. Wenn alles korrekt eingerichtet ist, wird eine SSH-Session auf dem Server gestartet, ohne dass Sie ein Passwort eingeben müssen.

Fazit

Mit der Einrichtung der SSH-Schlüsselauthentifizierung haben Sie einen sicheren und praktischen Weg geschaffen, sich bei Ihrem Server anzumelden. Diese Methode schützt vor Brute-Force-Angriffen und sorgt für mehr Sicherheit im Vergleich zur herkömmlichen Passwortauthentifizierung.