# CSHRC_RELOAD: NO # CSHRC_PROMPTONLY: YES if (! $?CSHRC_MD_SSHAGENT_MOD) then set _m = a else if ($CSHRC_MD_SSHAGENT_MOD == 'ask') then while (1) echo -n "Soll der SSH-Agent gestartet werden? [A|j|n|h]: " set _a = $< if ($_a == '') set _a = a switch ($_a:l) case [ajn]: set _m = $_a:l break case [h]: echo "Hilfe CSHRC-SSH-AGNET:" echo " j: starten" echo " n: nicht starten" echo " h: diese Hilfe" echo " a: automatisch." echo " Wird nur gestartet wenn diese Skript" echo " auf einem localen host laeuft." breaksw default echo "ERROR: Ungueltige Angabe." endsw end unset _a else if ($CSHRC_MD_SSHAGENT_MOD == 'auto') then set _m = a else if ($CSHRC_MD_SSHAGENT_MOD == 'yes') then set _m = j else set _m = n endif if ($_m == a) then set _m = j if ($?REMOTEHOST) set _m = n endif if ($_m == j) then set _env = ~/.ssh/env.`hostname` # wenn noch keine ssh-agent variablen abgelegt # sind, dann muss er gestartet werden if ( ! -f $_env ) then set _start = 1 # anderenfalls prueffen ob der Agant mit der PID rennt else eval `cat $_env` set _status = ` \ ps -p $SSH_AGENT_PID | tail -1 | awk '{ print $5 }'` # wenn nicht, muss er gestartet werden if ( "$_status" != "ssh-agent" ) set _start = 1 unset _status endif # wenn der agent gestartet werden soll if ( $?_start ) then echo -n "SSH-Agent starten ... " ssh-agent -c | head -2 > $_env chmod 600 $_env eval `cat $_env` # key's laden ssh-add unset _start _env # Aliase setzen alias agent-stop kill -15 $SSH_AGENT_PID alias agent-stop-all killall ssh-agent alias agent-lock ssh-add -x alias agent-ulock ssh-add -X aliass agent-start ~/.csh/sshagent.csh endif endif unset _m _env _status