Die Authentifizierung mittels SSH-Schlüssel bietet gegenüber herkömmlichen Passwortmethoden einen erhöhten Schutz. SSH-Keys werden häufig für den Zugriff auf Server, das Verwalten von Cloud-Diensten und die Automatisierung von Aufgaben eingesetzt. Sie sind besonders nützlich in Umgebungen, in denen mehrere Server verwaltet werden müssen, da der Benutzer sich ohne die Eingabe eines Passworts authentifizieren kann. Durch die Verwendung von SSH-Schlüsseln wird die Sicherheit der Verbindung erhöht und das Risiko von Brute-Force-Angriffen auf Passwörter minimiert. Wir erklären dir, was ein SSH-Key ist, wie du ihn erstellst und wie du die SSH-Authentifizierung mit Plesk nutzt.
Was ist ein SSH-Key und wie wird er verwendet?
Ein SSH-Key ist ein kryptografisches Schlüsselpaar, das zur sicheren Authentifizierung bei SSH-Verbindungen verwendet wird. Es besteht aus einem privaten (private Key) und einem öffentlichen Schlüssel (Public Key). Der öffentliche Schlüssel wird auf dem Server gespeichert, während der private Schlüssel sicher auf dem lokalen Gerät des Benutzers verbleibt. Diese Art der Authentifizierung bietet eine höhere Sicherheit im Vergleich zu herkömmlichen Passwortmethoden, da der private Schlüssel niemals über das Netzwerk gesendet wird.
Privater Schlüssel (Private Key)
Der geheime Teils des Schlüssels ist der private Schlüssel, welchen du als Benutzer zur Authentifizierung benutzt. Der private Schlüssel darf nie geteilt werden. Dieser Schlüssel befindet sich bei dir lokal auf der Arbeitsstation oder dem System, von dem aus der Zugriff erfolgen soll.
Der private Schlüssel kann bei der Erstellung zusätzlich mit einem Passwort (Passphrase) versehen werden. Wenn eine Passphrase gesetzt wird, muss der SSH-Key bei jeder Verwendung mit der Passphrase entsperrt werden. Das heisst, auch wenn der Private Key gestohlen würde, könnte ihn ohne die passende Passphrase niemand verwenden.
Beispiel eines Private-Keys:
demo_key_pair:
—–BEGIN OPENSSH PRIVATE KEY—–
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACBQI7QrmMotdVr0jVdIGLcxXiFHJReT4E55nwYPtGhmbAAAAKgySkWQMkpF
kAAAAAtzc2gtZWQyNTUxOQAAACBQI7QrmMotdVr0jVdIGLcxXiFHJReT4E55nwYPtGhmbA
AAAEAHB8Qh4k+519VfX4+ka1a3223T0H81StQg1mmM9JCnLVAjtCuYyi11WvSNV0gYtzFe
IUclF5PgTnmfBg+0aGZsAAAAHmRlbW9fdXNlckBkZW1vc3lzdGVtX0tvbW1lbnRhcgECAw
QFBgc=
—–END OPENSSH PRIVATE KEY—–
Öffentlicher Schlüssel (Public Key)
Der öffentliche Teil des Schlüssels wird auf alle Systeme verteilt, auf die der Inhaber des privaten Schlüssels Zugriff erhalten soll. Für diesen Blog-Beitrag ist dies der Plesk-Server auf den du Zugriff per SSH erhalten möchtest.
Beispiel eines öffentlichen Schlüssels:
demo_key_pair.pub:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFAjtCuYyi11WvSNV0gYtzFeIUclF5PgTnmfBg+0aGZs demo_user@demosystem_Kommentar
Der öffentliche Teil des Schlüssels setzt sich aus folgenden drei Teilen zusammen:
- Beschreibung des Key-Typs: ssh-ed25519
Wir empfehlen den Typ ssh-ed25519, möglich sind:- ssh-ed25519
- ssh-rsa (mindestens 3096bit verwenden)
- ecdsa-sha2-nistp256
- ecdsa-sha2-nistp384
- ecdsa-sha2-nistp521
Je nach Typ des Keys den du auswählst, wird sich die Länge des öffentlichen und privaten Schlüssels ändern. Neuere Varianten der SSH-Schlüssel bieten bei kürzeren Keys dennoch eine erhöhte Sicherheit. Deshalb empfehlen wir ssh-ed25519.
- Der Schlüssel selbst: AAAAC3NzaC1lZDI1NTE5AAAAIFAjtCuYyi11WvSNV0gYtzFeIUclF5PgTnmfBg+0aGZs
- Das Kommentarfeld des Schlüssels, im Beispiel: demo_user@demosystem_Kommentar
Wir empfehlen, den Kommentar der Nutzung des Keys anzupassen: Wenn der Key von einem Benutzer verwendet wird, kann die E-Mail-Adresse der Person verwendet werden. Wenn der Key von einem System verwendet wird, «user@system».Du solltest den Key anhand des Kommentars jederzeit eindeutig identifizieren können.
Wichtig: Vermeide Leerschläge im Kommentarteil des Schlüssels! Solche Schlüssel werden von Plesk nicht akzeptiert.
Warum ist der SSH-Key des Typs ed25519 zu empfehlen?
Der SSH-Key des Typs ed25519 wird aus mehreren Gründen empfohlen. Erstens bietet er eine starke Sicherheit bei kürzeren Schlüssellängen, was bedeutet, dass er weniger Speicherplatz benötigt und schneller verarbeitet werden kann. Zweitens basiert ed25519 auf elliptischen Kurven, die als sicherer gegenüber den traditionellen RSA-Schlüsseln gelten, insbesondere gegen Angriffe, die auf der Faktorisierung grosser Zahlen basieren. Drittens sind ed25519-Schlüssel einfacher zu verwalten, da sie keine so komplizierte Schlüssellänge erfordern wie RSA, um ein ähnliches Sicherheitsniveau zu erreichen. Schliesslich ist ed25519 in vielen modernen Systemen und Anwendungen gut unterstützt, was seine Integration und Verwendung erleichtert. Diese Vorteile machen ed25519 zu einer bevorzugten Wahl für die SSH-Authentifizierung in verschiedenen Umgebungen, einschliesslich Plesk.
Die Vorteile eines SSH-Keys gegenüber der Verwendung eines Passworts
- Sicherheit: SSH-Schlüssel-Paare (ssh-key-pair) bestehen aus einem öffentlichen(public-key) und einem privaten Schlüssel (private-key). Der private Schlüssel wird lokal gespeichert und nie über das Netzwerk gesendet, was Brute-Force-Angriffe und das Abfangen von Passwörtern verhindert.
- Komfort: Es werden keine Passwörter benötigt und somit musst du diese auch nicht von Zeit zu Zeit ändern. Einmal eingerichtet, ermöglicht der SSH-Key einen sicheren und bequemen Zugriff auf deine Server.
- Automatisierung: SSH-Keys sind ideal für die Automatisierung von Aufgaben, da sie eine passwortlose Authentifizierung ermöglichen. Dies ist besonders nützlich für Skripte und automatische Verbindungen.
Verwendung des SSH-Keys-Managers in Plesk
Die Erweiterung «SSH Keys Manager» in Plesk erleichtert das Hinzufügen von SSH-Keys erheblich.
Zu beachten, bevor du startest:
- Wie bisher kann nur der Hauptbenutzer einer Webseite per SSH zugreifen, wenn die Funktion SSH im Kundencenter aktiviert wurde.
- Der Hauptbenutzer einer Webseite kann den SSH-Key auch für den Zugriff über SFTP (FTP über SSH) benutzen.
Hast du bisher nicht mit SSH-Keys gearbeitet, musst du zunächst ein Schlüsselpaar erstellen. Schritt-für-Schritt-Anleitungen für Windows, Linux und MacOS findest du im Abschnitt Erstellung eines SSH-Keys des Typs ed25519.
Hinzufügen des öffentlichen Schlüssels zu einer Domain
- Melde dich im Plesk Control Panel an.
- Wähle die gewünschte Domain(domainbeispiel.ch) aus, auf die du per SSH Zugriff erhalten möchten.
- Suche nach SSH Keys und öffne die Erweiterung «SSH Key Manager».
- Klicke auf Add Key (Schlüssel hinzufügen)
- Fügen deinen öffentlichen Schlüssel (Public-Key) ein und speichere diesen.
- ACHTUNG: Verwende NIE den privaten Schlüssel! (privatekey!)
Trage keine Schlüssel mit Leerzeichen im Kommentarfeld ein. Plesk unterstützt dies nicht. - Teste den Zugriff: «ssh hauptbenutzer@domainbeispiel.ch»
Erstellung eines SSH-Keys des Typs ed25519
In dieser Schritt-für-Schritt-Anleitung wird angenommen, dass noch keine SSH-Schlüssel vorhanden sind. Wir beschränken uns hier auf die Erstellung eines Schlüssels im von uns empfohlenen Typ ed25519.
Windows, über PuTTYgen
- Lade PuTTY von der offiziellen PuTTY-Website herunter und installiere es.
Wenn du PuTTY bereits verwendest, wird PuTTYgen schon vorhanden sein. - Öffne PuTTYgen über das Startmenü.
- Wähle die Art des Keys: ed25519
- Klicke auf «Generate».
- Bewege die Maus über das leere Feld, um zufällige Daten zu erzeugen.
- Gib eine Passphrase (optional) ein und speichere den privaten Schlüssel.
Beispiel: «demo_key.ppk» (privater Schlüssel) – Das Format muss *.ppk sein! - Erstelle die Datei «demo_key.pub» (öffentlicher Schlüssel) manuell, kopiere den angezeigten öffentlichen Schlüssel in die Datei und speichere diese ab.
- Tragen Sie den öffentlichen-Schlüssel auf dem Ziel-System ein. In diesem Beispiel in der Plesk-Oberfläche, im SSH-Keys-Manager (siehe Verwendung des SSH-Keys-Managers in Plesk).
- Öffne Pageant über das Startmenu.
Pageant stellt deine SSH-Schlüssel PuTTY zur Verwendung zur Verfügung und wurde auch über das PuTTY-Paket installiert. - Klicke das Pageant-Symbol in der Task-Leiste mit der rechten Maustaste an und wähle «add key».
Gib die Passphrase an, wenn du dem Key eine hinzugefügt hast. - Wähle den abgespeicherten *.ppk-Schlüssel aus.
- Starte PuTTY und gib den Plesk-Server als Ziel-Hostnamen ein. Klicke auf «Open», um die Verbindung zu starten.
- Wenn du dich das erste Mal auf einen Server verbindest, wird ein Sicherheits-Alarm angezeigt, dass der Server noch nicht bekannt ist. Bestätige diesen mit «Ja».
- Gib deinen Benutzernamen an, wenn du danach gefragt wirst.
Dies ist der Hauptbenutzer einer Domain. Nur der Hauptbenutzer kann per SSH verbinden. - Die Verbindung wird nun direkt aufgebaut und du bist per SSH eingeloggt.
Hinweis: Nach einem Neustart des Systems musst du Pageant erneut starten und deinen Key wieder hinzufügen.
Windows, über die Git-Bash-Sitzung
- Öffne die Bash
- Führe den folgenden Befehl aus: «ssh-keygen -t ed25519 -C Kommentar»
- Folge den Anweisungen, um den Schlüssel zu benennen und eine Passphrase (optional) festzulegen.
- Der private und der öffentliche Schlüssel werden in deinem Home-Verzeichnis im Ordner .ssh in der Bash gespeichert.
- Trage den öffentlichen Key (public-key – *.pub) auf dem Ziel-System ein. In diesem Beispiel in der Plesk-Oberfläche, im SSH-Keys-Manager.
- Der Key steht nun in der Bash-Umgebung zur Verfügung.
- Teste den Zugriff: «ssh hauptbenutzer@domainbeispiel.ch»
Linux
- Öffne das Terminal.
- Führe den folgenden Befehl aus: «ssh-keygen -t ed25519 -C Kommentar».
- Folge den Anweisungen, um den Schlüssel zu benennen und eine Passphrase (optional) festzulegen.
- Der private und der öffentliche Schlüssel werden in deinem Home-Verzeichnis im Ordner .ssh gespeichert.
- Trage den öffentlichen Key (public-key – *.pub) auf dem Ziel-System ein. In diesem Beispiel in der Plesk-Oberfläche, im SSH-Keys-Manager.
- Testen Sie den Zugriff: «ssh hauptbenutzer@domainbeispiel.ch»
macOS
- Öffne das Terminal.
- Führe den folgenden Befehl aus: «ssh-keygen -t ed25519 -C Kommentar».
- Folge den Anweisungen, um den Schlüssel zu benennen und eine Passphrase (optional) festzulegen.
- Der private und der öffentliche Schlüssel werden in deinem Home-Verzeichnis im Ordner .ssh gespeichert.
- Trage den öffentlichen Key (public-key – *.pub) auf dem Ziel-System ein. In diesem Beispiel in der Plesk-Oberfläche, im SSH-Keys-Manager.
- Teste den Zugriff: «ssh hauptbenutzer@domainbeispiel.ch»
Hast du noch Fragen oder brauchst Unterstützung beim Einrichten deiner SSH-Keys? Unser Support-Team hilft dir gerne weiter.