SSH-Agent für den Mac

Für alle, die mit dem Mac Linux-Server per SSH administrieren wollen habe ich einen kleinen Tipp um sich den Alltag etwas einfacher zu machen:

Für die komfortable Administration von Servern per SSH gibt es den SSH-Agent. Der SSH-Agent ist ein Tool um die privaten Keys für die Authentifizierung per "Public-Key"-Verfahren zu speichern, damit der Administrator nicht bei jedem Login das Passwort eingeben muss.

Für den Mac gibt es ein besonders schönes Tool, mit dem Namen "SSH-Keychain", zur Verwaltung der SSH-Keys.  Es ist damit möglich mehrere Keys zu speichern, und man kann sogar die Passwörter im Mac-Schlüsselbund ablegen, so das alleine durch das anmelden am MAC alle Keys geladen werden.

Die Installation ist recht einfach.  Erstmal muss man sich einen SSH-Key generieren.  Dazu im Terminal folgende Befehle eingeben:

localhost:~ cs$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/cs/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/cs/.ssh/id_rsa.
Your public key has been saved in /Users/cs/.ssh/id_rsa.pub.
The key fingerprint is:<br />74:64:f5:b9:64:a3:83:af:38:9d:66:a5:b7:ee:3a:5d cs@localhost

Damit man sich auf dem Remote-Server per SSH-Key anmelden kann, muss der Public-Key des eben generierten Keys auf dem Root-Server bekannt sein.   Dazu kann man den Public-Key auf den Server wie folgt kopieren (jetzt wird nochmal das User-Passwort für den Login auf dem Server benötigt):

localhost:~ cs$ ssh server.de 'mkdir .ssh'
localhost:~ cs$ cat .ssh/id_rsa.pub | ssh server.de 'cat &gt;&gt; .ssh/authorized_keys'

Testen ob das anmelden mit dem Key funktioniert:

localhost:~ cs$ ssh -i .ssh/id_rsa server.de
Enter passphrase for key '.ssh/id_rsa':
Linux server.de 2.6.9-023stab044.4-smp #1 SMP Thu May 24 17:20:37 MSD 2007 i686 GNU/Linux
cs@server:~$

Wenn alles klappt, dann das SSH-Keychain-Tool installieren und dann unter "SSHKeyChain > Preferences" auf der Seite "SSH Keys" prüfen, das der eben generierte Key in der Liste steht, dann  auf der Seite "Environment" den Haken bei "Manage (and modify) global environment variables" setzen.  Damit SSHKeyChain beim neuen anmelden automatisch gestartet wird in den Systemeinstellungen unter Benutzer als "Startobjekt" eintragen.

Damit diese Änderungen wirksam werden am Mac ab- und anmelden.  Jetzt im SSHKeyChain unter "Agents" > "Add all keys" alle Keys laden.  Hier wird auch die Option angeboten, die Passwörter für die Keys im Mac Schlüsselbund zu speichern.

Ab sofort  kann man sich auf dem Server anmelden, ohne ein Passwort eingeben zu müssen.

 

 

 

Damit diese Änderungen wirksam werden am Mac ab- und anmelden.  Jetzt im SSHKeyChain unter "Agents" > "Add all keys" alle Keys laden.  Hier wird auch die Option angeboten, die Passwörter für die Keys im Mac Schlüsselbund zu speichern.

Ab sofort  kann man sich auf dem Server anmelden, ohne ein Passwort eingeben zu müssen.