5 Gründe, warum Sie SSH-Keys verwenden sollten
Philipp Zeder
Kategorie:in
Entwicklung & Performance
Veröffentlicht am 23. Feb. 2015
Aktualisiert am 10. Sept. 2024
SSH (Secure Shell) bezeichnet sowohl ein Netzwerkprotokoll als auch entsprechende Programme, mit deren Hilfe man auf eine sichere Art und Weise eine verschlüsselte Verbindung mit einem Server herstellen kann. SSH kommt oft, meist für den Nutzer unsichtbar, im Hintergrund zum Einsatz. Dateitransfer-Tools wie SFTP und SCP oder auch die beliebte Versionsverwaltung Git setzen auf SSH als Netzwerkprotokoll.
Die Anmeldung mit dem sogenannten Public-Key-Verfahren ist zentraler Bestandteil von SSH und in der Spezifikation des Protokolls als einzige Methode vorgeschrieben. Gegenüber der üblichen Benutzernamen-Passwort-Kombination bietet die Anmeldung per Public-Key einige Vorteile. Diese möchten wir Ihnen hier näher vorstellen:
Nutzer hinzufügen? Ein Kinderspiel
Mit SSH-Keys gewähren Sie ganz einfach unterschiedlichen Personen Zugang zu Ihrem Webhosting. Und das, ohne dass Sie das Webhosting-Passwort bekannt geben müssen. SSH-Keys werden von vielen Programmen automatisch erkannt oder können wie z.B. beim beliebten FTP-Client Filezilla speziell hinterlegt werden. Da SSH-Keys immer auch eine Beschreibung beinhalten, ist die Zuweisung zum entsprechenden Nutzer problemlos möglich.
Update vom 04.02.2016: Public-Keys lassen sich jetzt auch ganz einfach direkt im my.cyon-Konto verwalten. Sie finden die Option unter «Sicherheit > SSH-Keys».
Nutzer entfernen? Kein Problem
So einfach, wie Sie anderen Personen den Zugriff zu einem Webhosting erlauben, machen Sie diesen Schritt auch wieder rückgängig. Entfernen Sie den entsprechenden Public-Key aus der Datei «~/.ssh/authorized_keys» und die Sache ist erledigt.
Mehrere Webhostings, ein SSH-Key
Wenn Sie eine Vielzahl unterschiedlicher Webhosting-Accounts verwalten, kennen Sie das Problem. Wer mag sich schon all diese Passwörter merken? Ihren persönlichen SSH-Key generieren Sie ein einziges Mal und verteilen ihn auf allen gewünschten Accounts. So verwalten Sie Ihre Kunden-Webhostings ganz bequem, ohne lange Passwort-Listen zu führen.
Passwort adieu
Wenn Sie sich mit Hilfe Ihres SSH-Keys anmelden, werden Sie nicht nach dem Webhosting-Passwort gefragt. Tippfehler bei der Passwort-Eingabe und das Risiko, deswegen von einer Firewall gesperrt zu werden, sind damit Geschichte.
SSH-Key, Fels in der Brandung
SSH-Keys sind unabhängig von Passwörtern. Ändern Sie das Passwort Ihres Webhostings nach Lust und Laune, an Ihrem SSH-Key müssen Sie nichts ändern. Solange Ihr Public-Key auf Ihrem Webhosting in der Datei «~/.ssh/authorized_keys» vorhanden ist, haben Sie Zugriff.
Haben wir Sie auf den Geschmack gebracht? Legen Sie gleich los und generieren Sie Ihren eigenen SSH-Key.
Beteilige dich an der Diskussion
22 Kommentare
Yesss! SSH for all! ;-)
Genau Daniel, wenn diese “doofe” Single-Kunde Restriktion fallen würde, gäbe es gleich einen 6..ten Grund ssh-keys zu verwenden.
Hallo, das ist schön und gut.
Leider ist es umso unverständlicher das man als “Single”-Kunde gar keine Möglichkeit hat verschlüsselt auf den eigenen Webspace zugreifen (mal von einem temporären ssh zugang über ein Ticket abgesehen).
Ein Update von Single auf Double ist keine Option (die Mengen brauche ich nicht) und nur wegen ssh fast das doppelte zu bezahlen macht auch kein Sinn. Wäre das anders würde cyon 100% meiner Bedürnisse abdecken – denkt doch mal drüber nach… :)
Ja, zumindest SSH sollte heute einfach Standard sein, auch beim günstigsten Paket. Dass SSH für Single-Kunden auf der Roadmap ist, wird schon seit 2 Jahren gesagt (https://blog.cyon.ch/Effizient-arbeiten-mit-SSH). Geändert hat sich jedoch noch nichts. Ist das technisch so unmöglich, wo es bei Double+ ja möglich ist…?
Technisch unmöglich ist es natürlich nicht, SSH für alle Angebote freizuschalten. Einige technische Hürden sind aber zu überwinden, bevor SSH für alle Angebote freigeschaltet werden kann. Da kommt bald was, versprochen.
Hallo Daniel
Die Shell steht Dir auf einem Single zwar nicht zur Verfügung, der Zugriff via SFTP ist jedoch trotzdem möglich. Du hast also auch bei einem Single die Möglichkeit, verschlüsselt auf Deinen Webspace zuzugreifen. Vollständiger SSH-Zugang für Single steht auf unserer Roadmap, da sind einfach noch ein paar technische Hürden aus dem Weg zu räumen.
Ein sehr guter Hinweis! Nutze die auch seit paar Monaten und ehrlich gesagt ist 100x besser als irgendeine FTP Client.
Sehr guter Hinweis! Aber ein Laie stolpert schon über den Befehl “ssh-copy-id”. Standardmässig gibts diesen Befehl nicht unter Mavericks/Yosemite. Dann gehts weiter mit FileZilla. Dort fehlt der Hinweis “FileZilla -> Verbindungen -> SFTP” um den Schlüssel einzubinden.
Laszlo, danke für den Input. Ich habe den Supportcenter-Artikel mit einem Hinweis ergänzt, wie sich ssh-copy-id auf OSX am besten installieren lässt. FileZilla kommuniziert, zumindest auf OSX, automatisch mit dem SSH-Agent. Das Hinterlegen des SSH-Keys ist da grundsätzlich gar nicht mehr nötig. Ich habe den passenden Artikel aus dem FileZilla-Wiki ebenfalls noch im Blogbeitrag ergänzt.
Lieber Philipp
Super. Vielen Dank für Deine Bemühungen.
LGL
Ich arbeite mit Windows und FilleZilla. Wie installiere ich nun den Public-Key?
Bitte eine Step by step Anleitung.
Ich gehe davon aus, dass Sie das Key-Paar bereits erstellt haben (https://www.cyon.ch/support/a/257/wie-erstelle-ich-ssh-keys) und kein SSH-Zugang zu Ihrem Webhosting besteht. Gehen Sie dann bitte wie folgt vor:
1. Verbinden Sie mit der herkömmlichen Methode (Benutzername/Passwort) per SFTP auf Ihr Webhosting (z.b. via Filezilla).
2. Erstellen Sie in Ihrem Home-Verzeichnis ein Verzeichnis mit dem Namen “.ssh”.
3. Erstellen Sie in diesem neuen Verzeichnis eine Datei mit dem Namen “authorized_keys”.
4. Kopieren Sie Ihren Public-Key in diese neu erstellte Datei.
5. Ändern Sie die Berechtigung für das neue Verzeichnis “.ssh” auf 700, für die Datei “authorized_keys” auf 600.
Den Private-Key können Sie dann anhand folgender Anleitung in Filezilla hinterlegen: https://wiki.filezilla-project.org/Howto. Bitte beachten Sie, dass der Private-Key bei dieser Methode nicht verschlüsselt hinterlegt wird.
Das Verzeichniss .ssh und die Datei “authorized_keys” habe ich erstellt und befüllt.
Ich gehe davon aus das im FilleZilla nur noch der Benutzername angegeben werden muss?
Beim Verbindungsversuch wird der Private Key gelistet doch dann kommt:
Fehler: Authentifizierung fehlgeschlagen.
Fehler: Kritischer Fehler: Herstellen der Verbindung zum Server fehlgeschlagen
Nun wo muss ich schrauben?
Wir schauen uns das genauer an und melden uns direkt per E-Mail.
Der private Key sollte dabei jedoch mit einem Passwort geschützt werden.
Ansonsten setzte ich diese Möglichkeit schon länger ein. Eine Deaktivierung des Passworts als Option wäre von Vorteil.
Ja, unbedingt eine Passphrase für den Private-Key setzen. Die optionale Deaktivierung des Passworts ist angedacht, unser OS unterstützt die entsprechende Option aber erst mit der nächsten Version.
Problem:
jailshell: mkdir: command not found
Du müsstest den Befehl auf Deiner lokalen Shell ausführen. Ausserdem hatten sich noch falsche Anführungszeichen eingeschlichen. Kannst Du es nochmals versuchen?
Merci, funktioniert … ich vermute, es lag an den Anführungszeichen.
Ich benutze SSH-Keys bereits seit langem, das ist tatsächlich äusserst praktisch und bequem.
Aber der nächste Schritt fehlt bei euch noch: Deaktivierung des Passwortes.
Habt ihr diesbezüglich schon etwas geplant?
Du sprichst unseren Technikern aus dem Herzen :) Das wird also definitiv kommen.
Ich reihe mich hier mal mit ein:
SSH (und SSL) for all!