So richten Sie SSH-Schlüssel unter CentOS ein

Einrichtung von SSH-Schlüsseln unter CentOS: Eine umfassende Anleitung

Einführung

SSH, oder Secure Shell, dient als sicheres Protokoll zur Datenübertragung in Netzwerken. Es ist besonders wichtig für die Fernverwaltung von Servern, da es eine verschlüsselte Verbindung ermöglicht, die vor unbefugtem Zugriff schützt. SSH-Schlüssel sind hierbei ein zentrales Element der Sicherheit, da sie einen passwortlosen Zugriff auf Server ermöglichen.

Diese Anleitung führt Sie detailliert durch die Einrichtung und Verwendung von SSH-Schlüsseln unter CentOS.

Generierung eines SSH-Schlüsselpaares

1. Öffnen Sie zunächst ein Terminal auf Ihrem CentOS-System.
2. Um ein neues Schlüsselpaar zu erstellen, nutzen Sie folgenden Befehl:

ssh-keygen -t rsa -b 4096

3. Sie werden nach dem Speicherort für den privaten Schlüssel gefragt. Wählen Sie einen sicheren Pfad oder bestätigen Sie den Standard.
4. Anschließend werden Sie aufgefordert, eine Passphrase für den privaten Schlüssel festzulegen. Diese zusätzliche Sicherheitsmaßnahme schützt den Schlüssel vor unbefugtem Zugriff. Wählen Sie eine starke Passphrase und merken Sie sie sich gut.

Übertragung des öffentlichen SSH-Schlüssels auf den Server

Nach der Generierung des Schlüsselpaares muss der öffentliche Schlüssel auf dem Zielserver hinterlegt werden.

1. Kopieren Sie den Inhalt des öffentlichen Schlüssels:

cat ~/.ssh/id_rsa.pub

2. Verbinden Sie sich mit dem Server via SSH:

ssh benutzername@server_ip_adresse

3. Fügen Sie den kopierten öffentlichen Schlüssel zur authorized_keys Datei auf dem Server hinzu:

echo "Hier_kommt_der_Schlüssel" >> ~/.ssh/authorized_keys

4. Stellen Sie korrekte Dateiberechtigungen für authorized_keys sicher:

chmod 600 ~/.ssh/authorized_keys

Sichern des privaten SSH-Schlüssels auf dem Client

Nun muss der private Schlüssel auf dem Client-Rechner gespeichert werden, von dem aus die Verbindung zum Server erfolgen soll.

1. Kopieren Sie den Inhalt des privaten Schlüssels:

cat ~/.ssh/id_rsa

2. Erstellen Sie auf dem Client ein .ssh-Verzeichnis, falls es noch nicht existiert:

mkdir ~/.ssh

3. Fügen Sie den privaten Schlüssel in die Datei id_rsa innerhalb des .ssh-Verzeichnisses ein:

echo "Hier_kommt_der_Schlüssel" > ~/.ssh/id_rsa

4. Setzen Sie korrekte Dateiberechtigungen für id_rsa:

chmod 600 ~/.ssh/id_rsa

Passwortlose SSH-Verbindung

Nach erfolgreicher Einrichtung der SSH-Schlüssel können Sie sich nun ohne Passworteingabe mit dem Server verbinden:

ssh benutzername@server_ip_adresse

Gegebenenfalls werden Sie zur Eingabe der Passphrase für Ihren privaten Schlüssel aufgefordert, jedoch nur einmal pro Sitzung.

Zusätzliche Sicherheitsmaßnahmen

Ergänzend zu SSH-Schlüsseln können folgende Sicherheitsmaßnahmen ergriffen werden:

  • Deaktivierung der Passwortauthentifizierung: Verhindert den Zugang zum Server, selbst bei Kenntnis des Passwortes.
  • Beschränkung des SSH-Zugriffs: Der Zugriff wird auf definierte IP-Adressen eingegrenzt.
  • Einsatz von Zwei-Faktor-Authentifizierung: Erfordert zusätzliche Sicherheitsmaßnahmen, wie z.B. einen Code von einer App oder biometrische Daten.
  • Verwendung sicherer Passphrasen: Sichere und unvorhersehbare Passphrasen für die privaten Schlüssel.
  • Aktualisierung der Software: Regelmäßige Updates und Sicherheitspatches auf Server und Client installieren.

Fazit

SSH-Schlüssel sind ein wesentliches Instrument zur Sicherung von SSH-Verbindungen. Sie ermöglichen eine passwortlose Verbindung und gewährleisten gleichzeitig eine hohe Sicherheit. Durch die Einhaltung dieser Anleitung und der zusätzlichen Sicherheitsmaßnahmen können Sie Ihre SSH-Verbindungen effektiv vor unerlaubten Zugriffen schützen.

Häufig gestellte Fragen (FAQ)

1. Welche Vorteile bieten SSH-Schlüssel?

  • Keine Passworteingabe erforderlich
  • Erhöhte Sicherheit durch verschlüsselte Schlüssel
  • Reduzierung des Risikos von Brute-Force-Attacken

2. Wie stelle ich fest, ob mein Server SSH-Schlüssel verwendet?

Prüfen Sie in der Datei /etc/ssh/sshd_config die Zeile PasswordAuthentication. Ist diese auf no gesetzt, werden SSH-Schlüssel verwendet.

3. Wie kann ich verhindern, dass SSH-Schlüssel vom Server abgerufen werden?

Ändern Sie den Eigentümer der Datei authorized_keys auf root und setzen Sie die Berechtigungen auf 600.

4. Was tun, wenn der private SSH-Schlüssel verloren geht?

Sie müssen ein neues Schlüsselpaar generieren und den öffentlichen Schlüssel neu auf dem Server hinterlegen.

5. Wie kann ich meinen privaten SSH-Schlüssel vor Diebstahl schützen?

Bewahren Sie den privaten Schlüssel sicher und verschlüsselt auf und geben Sie ihn nicht an Dritte weiter.

6. Was ist ein SSH-Agent?

Ein SSH-Agent ist ein Programm, welches die privaten Schlüssel im Hintergrund verwaltet und den Zugriff auf mehrere Server ermöglicht, ohne die Passphrase immer wieder eingeben zu müssen.

7. Können SSH-Schlüssel auch für andere Dienste genutzt werden?

Ja, viele Dienste, wie z.B. Git, Amazon Web Services und Google Cloud Platform, unterstützen die Authentifizierung mit SSH-Schlüsseln.

8. Was ist der Unterschied zwischen RSA- und ECDSA-Schlüsseln?

RSA-Schlüssel sind länger und langsamer in der Generierung, bieten aber ein höheres Sicherheitsniveau. ECDSA-Schlüssel sind schneller zu generieren und nutzen elliptische Kurvenkryptographie, was sicherer als RSA sein kann.