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
- Es wird nach dem Speicherort für das Schlüsselpaar gefragt. Drücken Sie Enter, um den Standardpfad (
~/.ssh/id_rsa
) zu akzeptieren. - Geben Sie eine Passphrase ein, um den privaten Schlüssel zusätzlich abzusichern (optional, aber empfohlen).
- 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
- Bestätigen Sie die Verbindung zum Server, indem Sie yes eingeben, wenn Sie aufgefordert werden.
- Geben Sie das Passwort für das Benutzerkonto auf dem Server ein.
- 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
- Kopieren Sie den gesamten Inhalt des Schlüssels.
- 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
- Wenn Sie beim Erstellen des Schlüssels eine Passphrase angegeben haben, müssen Sie diese jetzt eingeben.
- 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.