Mithilfe des Netz­werk­pro­to­kolls SSH können Sie eine sichere und ver­schlüs­sel­te Netz­werk­ver­bin­dung zu einem ent­fern­ten Gerät wie z. B. einem Server her­stel­len. Mit einer solchen SSH-Ver­bin­dung warten Sie den Server von Ihrem lokalen Computer aus oder bedienen ihn per Kom­man­do­zei­le. Abhängig von der genutzten Version des Pro­to­kolls kommen dabei ver­schie­de­ne Ver­schlüs­se­lungs­al­go­rith­men zum Einsatz – SSH-2 greift bei­spiels­wei­se stan­dard­mä­ßig auf AES zurück. Der Ver­schlüs­se­lung der Ver­bin­dung muss al­ler­dings zunächst eine er­folg­rei­che Au­then­ti­fi­zie­rung vor­aus­ge­hen. Während der Server sich gegenüber dem Client mit einem Si­cher­heits­zer­ti­fi­kat iden­ti­fi­ziert, gibt es ver­schie­de­ne Varianten zur Anmeldung des Clients auf dem Server. Neben der bekannten klas­si­schen Variante mit Be­nut­zer­na­me und Passwort können Sie unter anderem auch Schlüs­sel­paa­re nutzen, die aus einem privaten und einem öf­fent­li­chen SSH-Schlüssel bestehen.

Public-Key-Au­then­ti­fi­zie­rung

Die Au­then­ti­fi­zie­rungs­me­tho­de mit SSH-Keys wird auch als Public-Key-Au­then­ti­fi­zie­rung be­zeich­net und birgt einige Vorteile zur stan­dard­mä­ßi­gen Passwort-Anmeldung. So wird nicht das ver­wen­de­te Passwort bzw. dessen Hash-Wert auf dem Server ge­spei­chert, sondern nur der öf­fent­li­che Schlüssel. Der private SSH-Key bleibt auf dem eigenen Rechner – und damit geheim. Zu­sätz­lich können Sie ihn mit einer Kennung ver­schlüs­seln. Der öf­fent­li­che Schlüssel kann Si­gna­tu­ren, die durch den privaten SSH-Schlüssel erzeugt wurden, ve­ri­fi­zie­ren und er­mög­licht dadurch die au­to­ma­ti­sche Anmeldung auf dem Server. Auch wenn Unbefugte an den öf­fent­li­chen Key gelangen sollten, ist es für sie nahezu unmöglich, aus diesem den passenden privaten zu berechnen. Wenn Sie bei Ihrer SSH-Ver­bin­dung also auf Schlüs­sel­paa­re anstatt eines einfachen Passworts setzen, ersparen Sie sich den An­mel­de­dia­log und sorgen gleich­zei­tig für eine noch größere Si­cher­heit.

Tipp

Ver­wen­dung eines SSH-Keys mit GitHub, so geht's! 

Auf SSH-Keys umstellen – so funk­tio­niert’s

Um die Vorteile von SSH-Ver­bin­dun­gen zu nutzen, benötigen Sie eines der ver­füg­ba­ren SSH-Pakete wie OpenSSH für Unix-, WinSCP für Windows- oder PuTTY für Unix- und Windows-Be­triebs­sys­te­me. Neben dem SSH-Protokoll im­ple­men­tie­ren die Pakete u. a. An­wen­dun­gen, mit deren Hilfe Sie SSH-Schlüssel ge­ne­rie­ren können. In den folgenden An­lei­tun­gen erklären wir Schritt für Schritt, wie Sie die Ver­wen­dung der Schlüs­sel­paa­re mit OpenSSH und PuTTY ein­rich­ten können.

SSH-Schlüssel mit OpenSSH kon­fi­gu­rie­ren

  1. Zu Beginn gilt es, die SSH-Schlüssel zu ge­ne­rie­ren, wozu Sie folgenden Befehl benötigen:

    ssh-keygen -t rsa -b 4096

    Durch die op­tio­na­len Parameter bestimmen Sie die Ver­schlüs­se­lungs­art (-t), in diesem Fall RSA, und die Bit-Schlüs­sel­län­ge (-b), wobei 4096 den Ma­xi­mal­wert darstellt. Nutzen Sie diese Spe­zi­fi­zie­rung nicht, werden die Stan­dard­ein­stel­lun­gen für die Ge­ne­rie­rung verwendet.
     
  2. Im folgenden Dialog können Sie das Ver­zeich­nis sehen bzw. verändern, in das die SSH-Keys hin­ter­legt werden sollen („Enter file in which to save the key“), und haben zudem die Option, eine Pass­phra­se für den privaten Key zu de­fi­nie­ren („Enter pass­phra­se“). Möchten Sie das Stan­dard­ver­zeich­nis verwenden und keine Kennung für Ihren Schlüssel ein­rich­ten, können Sie die Felder frei­las­sen und mit der Ein­ga­be­tas­te über­sprin­gen.
     
  3. Beide SSH-Schlüssel sind nun im zuvor genannten bzw. gewählten Ver­zeich­nis in un­ter­schied­li­chen Dateien ge­spei­chert. Die Datei id_rsa.pub enthält den öf­fent­li­chen Schlüssel, der nun im Un­ter­ord­ner .ssh in der Datei aut­ho­ri­zed_keys auf dem Server hin­ter­legt werden muss. Dazu kopieren Sie zunächst den Key in das Home-Ver­zeich­nis des je­wei­li­gen Users auf dem Server:

     scp ~/.ssh/id_rsa.pub USER@HOST.de
     
  4. Loggen Sie sich auf dem Server ein und kopieren Sie den öf­fent­li­chen SSH-Key in den richtigen Ordner:

    ssh USER@HOST.de

    cat ~/id_rsa.pub >> ~/.ssh/aut­ho­ri­zed_keys
     
  5. Nun sollten die Schlüs­sel­paa­re sowie, falls definiert, deren Pass­phra­se beim Aufbau der SSH-Ver­bin­dung au­to­ma­tisch verwendet werden. Wenn nicht, über­prü­fen Sie, ob die Rechte des Ordners .ssh und der Datei aut­ho­ri­zed_keys richtig gesetzt sind.
     
  6. Da die Public-Key-Au­then­ti­fi­zie­rung die normale Passwort-Au­then­ti­fi­zie­rung ersetzt, können Sie das Stan­dard­ver­fah­ren in der SSH-Kon­fi­gu­ra­ti­ons­da­tei /etc/ssh/sshd_config (oder auch direkt unter /etc/, z. B. in Cygwin) aus­schal­ten, indem Sie die Zeile „Pass­wordAu­then­ti­ca­ti­on yes“ in „Pass­wordAu­then­ti­ca­ti­on no“ umändern und den Server an­schlie­ßend neu­star­ten.

SSH-Schlüssel ge­ne­rie­ren mit dem PuTTY Key Generator

  1. Wenn Sie PuTTY nutzen, um eine SSH-Ver­bin­dung auf­zu­bau­en, haben Sie mit PuTTYgen auch stan­dard­mä­ßig das passende Werkzeug parat, um Schlüs­sel­paa­re zu ge­ne­rie­ren. Sie finden den PuTTY Key Generator im gleichen Ver­zeich­nis, in das Sie PuTTY in­stal­liert bzw. entpackt haben. Fehlt das Tool, laden Sie es einfach auf der PuTTY Download Page herunter.
     
  2. Nach dem Start wählen Sie unter „Pa­ra­me­ters“ den Ver­schlüs­se­lungs­typ – für SSH-2 können Sie sich zwischen RSA und DAS ent­schei­den. Unter „Number of bits in a generated key“ de­fi­nie­ren Sie die ge­wünsch­te Schlüs­sel­län­ge.
     
  3. Klicken Sie an­schlie­ßend auf „Generate“ und bewegen die Maus im freien Bereich des Dia­log­fens­ters hin und her, um die In­di­vi­dua­li­tät des Codes zu ge­währ­leis­ten.
     
  4. Ist die Ge­ne­rie­rung ab­ge­schlos­sen, versehen Sie das erzeugte Schlüs­sel­paar optional mit einem Kommentar und einer Pass­phra­se.
     
  5. Über „Save private key“ und „Save public key“ speichern Sie die beiden SSH-Keys.
     
  6. Um den öf­fent­li­chen Key nun auf den Server zu über­tra­gen, verbinden Sie sich über PuTTY mit diesem und kopieren an­schlie­ßend den Code aus der Zwi­schen­ab­la­ge („Public key for pasting into OpenSSH aut­ho­ri­zed_keys file“) in die aut­ho­ri­zed_keys-Datei.
     
  7. Im letzten Schritt tragen Sie im PuTTY-Client den privaten SSH-Schlüssel ein. Dazu öffnen Sie das Kon­fi­gu­ra­ti­ons­me­nü und wählen dort unter „Category“ > „Con­nec­tion“ > „SSH“ > „Auth“ > „Private key file for au­then­ti­ca­ti­on“ die Datei des privaten Keys aus.
Tipp

Sie möchten maximale Si­cher­heit für Ihre Website? Erfahren Sie hier mehr zu den SSL-Zer­ti­fi­ka­ten von IONOS und wie diese das Vertrauen in Ihre Seite erhöhen.

Zum Hauptmenü