Mein VariomediaHier können Sie sich im Kundenmenü einloggen. |
Weitere Logins |
Als Alternative zur Passworteingabe können Sie sich bei SSH/SFTP auch mittels eines Schlüsselpaares authentifizieren. Dieses Schlüsselpaar ist nicht an einen bestimmten Benuteraccount gebunden, Sie können es zur Authentifizierung für verschiedene Benutzeraccounts auf unterschiedlichen Servern nutzen.
Unter Windows 10/11, MacOS und Linux können Sie ein SSH-Schlüsselpaar in der Kommandozeile über den Befehl ssh-keygen erzeugen. Sie können dabei zwischen RSA- und ED25519-Schlüsseln wählen, wir empfehlen die Nutzung von ED25519-Schlüsseln:
ssh-keygen -t ed25519
Sie werden dann gefragt, unter welchem Dateinamen der Schlüssel gespeichert werden soll. Sie können den vorgeschlagenen Dateinamen bestätigen, oder einen abweichenden Dateinamen wählen.
Die SSH-Schlüssel werden standardmäßig in Ihrem Benutzerverzeichnis in einem Unterverzeichnis mit Namen .ssh hinterlegt. Falls Sie keinen abweichenden Dateinamen gewählt haben, werden in diesem Verzeichnis 2 Dateien mit den Namen id_ed25519 und id_ed25519.pub erzeugt. Die Datei id_ed25519 enthält den privaten Schlüssel, der von SSH-Clients zur Authentifizierung an einem Server genutzt wird. Die Datei id_ed25519.pub enthält den öffentlichen Schlüssel, der auf den gewünschten Servern hinterlegt werden muss.
Anschließend werden Sie noch nach einem Passwort für den Schlüssel gefragt. Dieses Passwort ist optional, falls Sie kein Passwort eingeben, ist bei der späteren Nutzung des Schlüssels keine weitere Passwortangabe erfoderlich. Falls Sie kein Passwort angeben, kann jeder, der den privaten Schlüssel kennt, sich ohne Passwort am Webserver anmelden, der private Schlüssel muss daher geheim bleiben und darf nur an vertrauenswürdige Personen weitergegeben werden. Für höhere Sicherheit ist die Nutzung eines Passwortes für den Schlüssel empfehlenswert.
Um ein Schlüsselpaar zur Authentifizierung für einen Webserver-Benutzeraccount zu nutzen, muss der öffentliche Schlüssel auf dem Webserver in der Datei ~/.ssh/authorized_keys hinterlegt werden.
Unter Linux und MacOS kann der öffentliche Schlüssel einfach über den Kommandozeilen-Befehl ssh-copy-id auf den Server kopiert werden:
ssh-copy-id -i .ssh/id_ed25519.pub u12345@meine-domain.de
Ersetzen Sie u12345 durch Ihre Webserver-Benutzerkennung, meine-domain.de durch Ihre Domain sowie ggf. id_ed25519.pub durch die gewünschte Schlüsseldatei.
Unter Windows gibt es den Befehl ssh-copy-id leider nicht, hier können Sie alternativ die folgende Kommandozeilen-Befehlssequenz verwenden:
type .ssh\id_ed25519.pub | ssh u12345@meine-domain.de "umask 077; test -d .ssh || mkdir .ssh; cat >> .ssh/authorized_keys"
Diese Befehlssequenz erstellt das Verzeichnis .ssh (falls es noch nicht vorhanden ist) und fügt den Schlüssel zur Datei authorized_keys hinzu.
Sie können die Datei authorized_keys auch mit einem Texteditor bearbeiten, etwa um einen öffentlichen Schlüssel zu entfernen. Dabei muss darauf geachtet werden, dass die Datei aus Sicherheitsgründen nur mit Schreib- und Leserechten für Ihren Benutzeraccount versehen sein muss (chmod 600)
Sobald Sie den öffentlichen Schlüssel auf dem Webserver hinterlegt haben, können Sie sich mittels ihres privaten Schlüssels am Webserver anmelden. Der SSH-Client erkennt die privaten Schlüssel im .ssh-Verzeichnis automatisch, im Regelfall müssen Sie daher keine weiteren Optionen angeben. Falls Sie einen bestimmten Schlüssel auswählen möchten, können Sie diesen über die Option -i angeben, z.B.
ssh -i .ssh/id_id_ed25519 u12345@meine-domain.de
Falls Sie einen SSH-Schlüssel auf dem Webserver eingerichtet haben, können Sie auch weiterhin die Authentifizierung mittels Benutzernamen und Passwort verwenden, diese wird dadurch nicht deaktiviert.