SSH

SSH bedeutet Secure Shell und bezeichnet ein kryptografisches Netzwerkprotokoll für den sicheren Betrieb von Netzwerkdiensten über ungesicherte Netzwerke. Es wird meist verwendet, um lokal eine entfernte Kommandozeile verfügbar zu machen, d. h., auf einer lokalen Shell Konsole werden die Ausgaben der entfernten Shell Konsole ausgegeben, und die lokalen Tastatureingaben werden an den entfernten Rechner gesendet.

Um sich sicher mit Servern verbinden und auf diesen Anpassungen in Dateien vornehmen zu können, ist die SSH Verbindung unerlässlich.

Klassische FTP Verbindungen sind bei uns durch FTP over SSH (SFTP) ersetzt worden. Als Kunde musst du also, willst du FTP nutzen, zuerst einen SSH / RSA-Key auf deinem Rechner erzeugen und anschließend den Public Key uns zur Verfügung stellen bzw. an den entsprechenden Server übermitteln / übertragen.

NIEMALS deinen Private KEY aus der Hand geben!

SSH Schlüssel stellen eine wesentlich höhere Sicherheit für das Login auf einem Server dar als SSH mit einem Passwort.

Das Passwort kann beispielsweise bei einem Brute Force-Angriff geknackt werden, während SSH-Schlüssel allein durch eine Brute Force-Attacke kaum in falsche Hände geraten können.

SSH Schlüssel sind ein Paar von zwei langen Strings (Zeichenketten), bestehend aus einem öffentlichen Schlüssel und einem privaten Schlüssel.

Der private Schlüssel (Private Key) verbleibt ausschließlich auf dem Client-Rechner, während der öffentliche Schlüssel (Public Key) auf den Server übertragen und mit dem privaten Schlüssel gekoppelt wird. Wenn beide Schlüssel beim Login zusammenpassen, benötigt der Server kein Passwort mehr. Passworte muss man sich merken und sollten aus Sicherheitsgründen mindestens 16 Stellen besser 20 haben, die aus Ziffern, Alphabet und Sonderzeichen bestehen sollten. Dies alles fällt komplett weg durch die Nutzung eines Keys. Durch eine Passphrase (Passwort-Phrase) kann der Key zusätzlich abgesichert werden, was die Sicherheit des Logins via Public Key und Private Key um einen weiteren Faktor erhöht. Doch aus Komfortgründen sollte dein Betriebssystem in der Lage sein, diese so zu speichern, dass die Passphrase bei jedem Aufruf automatisch eingesetzt wird, sonst musst du bei jedem Login doch ein Passwort, nämlich die Passphrase eingeben, um den Key zu autorisieren.

Beim Erzeugen des RSA-Key kann man die Frage nach der Passphrase unbeantwortet leer lassen, dann wird man auch nie danach gefragt. Sicher ist es trotzdem. Ob du das nutzen möchtest, hängt von deinen Präferenzen ab.

Erzeugen eines RSA-Key auf dem Mac / Linux:

Um ein SSH Schlüsselpaar zu erzeugen, folgenden Befehl in die Shell Kommandozeile deines lokalen Rechners eingeben:

$ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa

Damit wird ein eigenes Schlüsselpaar für RSA-Keys mit einer kryptografischen Schlüssellänge von 4096 Bit erzeugt, was nahezu mit Brute-Force Attacken allein kaum zu knacken ist. Es entstehen Dateien mit den Schlüsselpaaren in:

~/.ssh/id_rsa
~/.ssh/id_rsa.pub

Die id_rsa.pub-Datei kann anschließend von uns auf den Zielhost kopiert werden.

Nutzt du nun slogin, ssh, oder scp, will der Server auf der anderen Seite den Nachweis, dass zu einem der dort in der authorized_keys liegenden öffentlichen Schlüssel ein privater Teil existiert. Der lokale Client verlangt also nach der Passphrase, um den in id_rsa gespeicherten privaten Schlüssel zu aktivieren. Passen beide Schlüssel zusammen, gewährt der Server den vollen Zugang.

Erzeugen eines RSA-Key auf Windows:

Mit dem PuTTY SSH client erzeugst du auch unter Windows ein SSH Schlüsselpaar.

  • Im Parameter-Abschnitt von puttygen.exe kann SSH-2-RSA ausgewählt und anschließend auf Generate geklickt werden.
  • Bewege die Maus zufällig durch den bereitgestellten Screen, dies erhöht die Entropie der Schlüsselerzeugung.
  • Ggf. kann ein Kommentar eingeben werden, um mehrere Schlüsselpaare verwalten zu können.
  • Gebe jetzt eine Passphrase ein und bestätigen diese oder lasse es leer für keine Passphrase.
  • Save private key sichert anschließend den privaten Schlüssel.
  • Save public key sichert den öffentlichen Schlüssel.
  • Du kannst den privaten Schlüssel nun mit pageant.exe laden. Dabei wirst du nach deiner Passphrase gefragt, wenn vorhanden.
  • Anschließend wirst du beim Starten von putty.exe zu den Verbindungsdetails gefragt:
    Host Name:
    nx1.smartbase.de (dies ist nur ein Beispiel!)
    Port:
    453278 (normalerweise ist der Stadard SSH Port 22, Dies ist nur ein Beispiel)
    Protocol:
    SSH2
  • Nachdem du nun auf «Open» geklickt hast, wird die Verbindung aufgebaut und du wirst nach deinem Nutzernamen gefragt.
    Anschließend bist du per SSH auf dem Server eingeloggt.

Was this helpful?