Difference between revisions of "SSH Agent"
Mario Manno (talk | contribs) (added category) |
Mario Manno (talk | contribs) m (fix typo) |
||
Line 68: | Line 68: | ||
* [http://2701.org/archive/200406150000.html fd0's Anleitung für 'reattached screen session'] | * [http://2701.org/archive/200406150000.html fd0's Anleitung für 'reattached screen session'] | ||
− | [[Category | + | [[Category:Hacks]] |
Revision as of 00:08, 14 October 2004
SSH Agent
Doobees Methode und Skript
Mit dem ssh-agent kann man seinen RSA Key im Speicher halten und spart sich somit das staendige Eintippen der Passphrase. Das ist natuerlich ein Sicherheitsrisiko, aber kein groesseres, als wenn man SSH nicht benutzt, weil es zu unkomfortabel ist.
# ssh-agent starten $ eval `ssh-agent` # key in den agent laden $ ssh-add Need passphrase for /Users?/drt/.ssh/identity Enter passphrase for drt@malcolm: Identity added: /Users?/drt/.ssh/identity (drt@malcolm) # munter ssh nutzen $ ssh user@host.org
Ein kleines Script, dass dafuer sorgt, dass der ssh-agent quer durch alle Fenster und Konsolen funktioniert.
#!/bin/sh # This script is intended to reside in your ~/.ssh directory (don't # forget to 'chmod 700'), and be included in your shell init script. # It works by checking for a working ssh agent, otherwise it starts one # and requests the passphrase. # # For bash and ksh users: # include the following in your ~/.bashrc or ~/.kshrc or ~/.profile # . $HOME/.ssh/setup # Enable this if using you have GNOME and the following program. #SSH_ASKPASS=/usr/libexec/ssh/gnome-ssh-askpass #export SSH_ASKPASS SSH_ENV=$HOME/.ssh/environment.`hostname` function start_agent { echo "Initialising new Secure Shell agent..." ssh-agent -s | head -2 > ${SSH_ENV} chmod 600 ${SSH_ENV} . ${SSH_ENV} > /dev/null #ssh-add < /dev/null } # Source SSH settings, if applicable if [ -f "${SSH_ENV}" ]; then . ${SSH_ENV} /dev/null ps ${SSH_AGENT_PID} /dev/null || { start_agent; } else start_agent; fi
Richtig bequem ist es, wenn man den ssh-agent und ssh-add in seinem .xsession bzw. .xinitrc startet. Dann haben alle Prozesse in der X-Session Zugriff auf den Agenten. Bei einigen Systemen muß man OpenSSH?-askpass gesondert installieren. --HaNs
Ja, aber wenn man das vergessen hat und X nicht beenden will, oder kein X sondern Quarz oder Consolen oder sonstwas einsetzt, kann man obiges Skript in seine .profile einbauen und man hat den gleichen Effekt. Einmal ssh-add eingeben und das wirkt sich auf alle Shells aus. BTW: HaNs hat mich vor geraumer Zeit in die Kunst der ssh-agent Nutzung eingeführt) --DoobeeRTzeck
Die keychain Methode
Einfach keychain installieren und in die .profile oder .bash_profile folgendes eintragen:
keychain ~/.ssh/key1 ~/.ssh/key2 . ~/.keychain/${HOSTNAME}-sh
--MM 01:07, 14 Oct 2004 (CEST)