SSH Public Key Authentication und OSX

3 comments

Posted on 27th February 2009 by Benj in Howtos |Linux

, ,

Als Windows User ist es sehr simpel einen SSH-Key zu erstellen und diesen in einem Unix System zu propagieren – puTTY sei dank!
Als Mac OSX Benutzer ist es sogar noch einfacher, da die wichtigen Tools bereits an Bord sind und nur noch darauf warten benutzt zu werden. Hier eine kleine und kurze Anleitung, wie dies zu bewerkstelligen ist:

Auf eurem Mac OSX startet ihr eine Terminal Session und generiert euch einen neuen SSH Key.
Es gibt zwei Möglichkeiten einen Key zu erstellen: geschützt durch ein Passwort oder direkt ohne Passwort – beides hat Vor- und Nachteile.
Ohne Passwort schutzt könn ihr euch schnell und unkompliziert in ein System einloggen, wird euch jedoch der Secret Key gestohlen, kann sich jeder damit auch in euer System einloggen und von dort aus seine Möglichkeiten austesten – daher wäre der Passwortschutz von Vorteil.
Zusätzlich könnt ihr euch in eurer SSH-Daemon Konfiguration eine normale Passwort-Authentifizierung ausschalten, so dass zwingend ein Key verwendet werden muss – Nachteil dabei ist, dass ihr den Key immer und überall dabei haben müsst, da ihr sonst nicht auf euer System kommt.
Ich verwende Grundsätzlich immer einen Key mit Passwort, lasse mir aber je nach System auch die Passwort-Authentifizierung offen – bei Systemen die ich eh nur von Zuhause und/oder dem Geschäft verwende, habe ich prinzipiell nur die Public Key Authentifizierung aktiv.

Anyway, was ihr am Ende macht, müsst ihr selber mit eurem Gewissen vereinbaren. ;)

Weyapro:~ Benjamin$ ssh-keygen -P passwort
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/Benjamin/.ssh/id_rsa):
/Users/Benjamin/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Your identification has been saved in /Users/Benjamin/.ssh/id_rsa.
Your public key has been saved in /Users/Benjamin/.ssh/id_rsa.pub.
The key fingerprint is:
5d:93:0a:8e:1a:bb:c7:0d:a8:b8:68:ae:84:e6:66:33 <a href="mailto:Benjamin@Weyapro.local">Benjamin@Weyapro.local</a>
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|             .   |
|        .   +    |
|       o o o .   |
|    ... S o      |
|.   .+.          |
|.+ .o. o         |
|*E.  .o .        |
|X+o ..           |
+-----------------+

Wollt ihr kein Passwort für den Key, lässt einfach die entsprechende Option weg. In meinem Fall überschreibe ich einen alten Key, welchen ich nicht mehr verwende – passt einfach auf, dass ihr keinen bestehenden Key löscht… wäre dumm.

Kopiert nun den kompletten Inhalt der id_rsa.pub in die authorized_keys auf eurem Server und setzt die Berechtigungen korrekt:

kilrathy@aslan:~ $ vim .ssh/authorized_keys
chown kilrathy.kilrathy .ssh/authorized_keys
chmod 644 .ssh/authorized_keys

So das wars – zumindest bei meinem System. Bei nächsten Login via SSH von meinem Mac werde ich nach dem Passwort für den Key gefragt und benötige nicht mehr das User Passwort vom lokalen Unix User.
Beim ersten Login könnt ihr auch das Passwort im Schlüsselbund von OSX sichern, so müsst ihr bei späteren Logins das Passwort nicht mehr eingeben und habt trotzdem einen Passwortschutz – ich arbeite im Moment nur so.

3 Comments
  1. Christian says:

    Hallo,

    schönes und klares Tutorial – auch für User mit wenig Terminal-Erfahrung wie mir ;-)

    Könntest Du aber vielleicht noch ergänzen, wie man die keys dann im Einsatz tatsächlich einbindet? So ganz verstanden habe ich es noch nicht…

    27th February 2009 at 13:14

  2. Kilrathy says:

    Hallo,

    Sorry bissel spät, aber lieber spät als nie: hab es ja geschrieben indirekt. Du musst den Inhalt der id_rsa.pub auf deinen Server kopieren, dort musst du dann den eigentlichen Inhalt dieser Datei in die Datei /home/USER/.ssh/authorized_keys kopieren…

    27th February 2009 at 15:40

  3. Martin says:

    also "cat .ssh/id_rsa.pub" und was der ausgibt copy n paste in "vim .ssh/authorized_keys" eintragen, speichern, berechtigungen setzen, DONE :)

    27th February 2009 at 17:42

Leave a comment