Anschrift
Frauengasse 3-5
2500 Baden
02252 / 44403

SSH Agent oder PAgent 23-03-2010

SSH Agent zum Verwalten von Schlüsseln auf Linux

Beim Arbeiten mit verschlüsselten Verbindungen, muss man öfters ein Passwort eintippen. Das kann aber entfallen, wenn man diese Arbeit dem ssh-agent auf einem Linux System übergibt (auf Windows macht das der pagent aus dem putty Paket).

Bei asymetrischen Verbindungen gibt es einen öffentlichen und einen privaten Schlüssel. Während der öffentliche Schlüssel bekannt sein darf, sollte der private Schlüssel geheim gehalten werden. Der ssh-agent speichert den privaten Schlüssel, und übermittelt bei Bedarf diesen Schlüssel. Das ist gleichbedeutend mit einer Passworteingabe.

3 Schritte zum ssh-agent
  1. Läuft der ssh-agent?
    Auf Ubuntu wird beim Einloggen der Agent gestartet, und lädt alle Keys aus dem ~/.ssh/ Verzeichnis des Benutzers. Man kann auch in der .profile, .bashrc oder ähnlichen Dateien den Agent starten (bitte nicht mehrfach starten).

      • Zum Testen ob der Agent läuft einfach mal ps -A | grep ssh-agent eintippen. So erfährt man auch ob der Agent mehrfach läuft.

      • Ob die Keys tatsächlich geladen werden mit ssh-add -l nachsehen. Falls die Keys nicht automatisch geladen werden, dann in der .profile oder ähnlichen Dateien, die Keys per ssh-add <Name> laden.


  2. Zum Beispiel schreibt man das in die .bashrc
    sa()
    {
      if ps -o "%p %c" -u `id -u` |grep ssh-agent; then
        set $(ps -o "%p %c" -u $(id -u)|grep ssh-agent )
        SSH_AGENT_PID=$1
        export SSH_AGENT_PID
        SSH_AUTH_SOCK=$(find /tmp/ -type s -name "agent.$(( $1 - 1 ))" -uid $(id -u))
        export SSH_AUTH_SOCK
        echo "ssh-agent lief bereits"
      else
        eval $(ssh-agent )
        ssh-add ~/.ssh/id_rsa
        echo "ssh-agent wurde gestartet"
      fi
    }
  3. Schlüssel erstellen oder konvertieren
    Ein Schlüsselpaar kannst du auf Linux mit ssh-keygen erstellen. Auf Windowsseite mit PuTTYgen. Beachte aber bitte, das die beiden Formate nicht kompatibel sind.

    Putty → OpenSSH
    Die Umwandlung erfolgt mit
    puttygen key.ppk -o id_rsa.pub -O public-openssh
    puttygen key.ppk -o id_rsa -O private-openssh

    OpenSSH → Putty Format
    mit der Importfunktion der Anwendung.
  4. Testen
    mit ssh-add -l mal schauen, ob Keys geladen werden. Dann einfach mal eine SSH Verbindung aufbauen. Es sollte kein Passwort mehr abgefragt werden

so, das wars auch schon wieder. Viel mit SSH!