Mittwoch, 12. Mai 2010

JUNOS Anmeldung per SSH-RSA und Putty (bzw. SSH-DSA)

SSH Zugriff auf Router, Switches etc. ist eine praktische Sache. Aber auch hier trifft uns alle das Problem, welches Passwort man wählen und sich dann merken soll. Aus Sicherheitsgründen sollte man ja auf jedem Gerät ein anderes verwenden.

Um hier Abhilfe zu schaffen kann man sich mit Hilfe einen Schlüsselpaares anmelden. Man generiert ein Paar, bestehend aus öffentlichem und privatem Schlüssel. Der öffentliche Schlüssel wird z.B. auf der Firewall hinterlegt. Der private bleibt auf dem PC des Anwenders, geschützt durch eine Passphrase. Bei der Anmeldung wird dann nur die Passphrase verlangt und schon ist man dabei. Weiterer Vorteil: Das Schlüsselpaar ist im allgemeinen deutlich sicherer als Kennwörter, falls Sie nicht zu den Personen gehören, die Kennwörter wie z.B. "fuei()3mfe3mk3)WUWJKs,29§.dmk." verwenden. :-)

Wie geht's konkret?
  1. Laden Sie sich den Putty Key Generator herunter. Z.B. unter http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
  2. Programm starten und auf den Knopf Generate drücken
  3. Jetzt etwas mit der Maus hin- und her fahren und damit ein paar Zufallszahlen generieren
  4. Wenn er fertig ist kann man eine Kommentar eintragen und - wichtig - die Passphrase
  5. Den privaten Schlüssel speichert man auf der Platte ab. Vorsichtige Menschen könnten hier z.B. einen USB Stick verwenden und den immer bei sich tragen. Muss aber natürlich nicht sein.
  6. Den öffentlichen Schlüssel abzuspeichern wäre an sich nicht notwendig, wir arbeiten mit Copy/Paste, kann aber auch nicht schaden
  7. Jetzt kopieren wir den öffentlichen Schlüssel in die Zwischenablage. JUNOS möchte gerne beginnend mit dem Wort ssh-rsa bis inklusive dem =. Das anschließende Kommentar bitte nicht mehr kopieren
  8. Jetzt melden wir uns am JUNOS an und gehen in den Konfigurationsmodus
  9. Wir legen nun einen Benutzer an. Z.B. den Benutzer dominik mit root Rechten. Das geht mit:

    set system login user dominik class super-user authentication ssh-rsa "ssh-rsa AAAAB3N... ="
  10. Commiten natürlich nicht vergessen
  11. So, jetzt können wir in Putty gehen und tragen zuerst den Hostnamen ein
  12. Danach erweitern wir in der Baumansicht den Knoten Connection und dann SSH. Dort tragen Sie bitte im Schlüssel Auth den Pfad zum vorher gespeicherten Private Key File ein
  13. Wir speichern dann die Session mit einem passenden Namen ab
  14. Jetzt verbinden wir uns. Zuerst kommt der Benutzername dran
  15. Danach verlangt Putty anstatt wie gewohnt das Kennwort, die Passphrase des Private Keys
  16. Und wenn wir keinen Fehler gemacht haben, sind wir am System angemeldet. Ganz ohne Kennwort
Bis zum nächsten Mal!

UPDATE


Mir ist kürzlich folgender Fehler passiert: Die Anmeldung an der JUNIPER Firewall hat nicht geklappt und im message Logfile hat sich folgende Fehlermeldung gefunden:

sshd[44945]: error: ssh_rsa_verify: RSA modulus too small: 1023 < minimum 1024 bits

Eine kurze Recherche hat im Handbuch zum Putty Key Generator folgendes ergeben:

Note that an RSA key is generated by finding two primes of half the length requested, and then multiplying them together. For example, if you ask PuTTYgen for a 1024-bit RSA key, it will create two 512-bit primes and multiply them. The result of this multiplication might be 1024 bits long, or it might be only 1023; so you may not get the exact length of key you asked for. This is perfectly normal, and you do not need to worry. The lengths should only ever differ by one, and there is no perceptible drop in security as a result. 

D.h., bei RSA Keys kann es passieren, dass der Schlüssel statt 1024 nur 1023 Bit lang ist, wass der OpenSSH Dämon von JUNOS nicht toleriert. Daher empfehle ich auf DSA umzusteigen, denn laut Handbuch gilt hier:

DSA keys are not created by multiplying primes together, so they should always be exactly the length you asked for. 

In der Anleitung ändert sich fast nichts. An den passenden Stellen, wie z.B. den SET Befehlen muss ssh-dsa statt rsa eingegeben werden. Damit sollte es immer klappen.

Keine Kommentare:

Kommentar veröffentlichen