Annotation of home/as/.csh/sshagent.csh, revision 1.1
1.1 ! as 1: # $Paefchen$
! 2:
! 3: # CSHRC_RELOAD: NO
! 4: # CSHRC_PROMPTONLY: YES
! 5:
! 6: if (! $?CSHRC_MD_SSHAGENT_MOD) then
! 7: set _m = a
! 8: else if ($CSHRC_MD_SSHAGENT_MOD == 'ask') then
! 9: while (1)
! 10: echo -n "Soll der SSH-Agent gestartet werden? [A|j|n|h]: "
! 11: set _a = $<
! 12: if ($_a == '') set _a = a
! 13: switch ($_a:l)
! 14: case [ajn]:
! 15: set _m = $_a:l
! 16: break
! 17: case [h]:
! 18: echo "Hilfe CSHRC-SSH-AGNET:"
! 19: echo " j: starten"
! 20: echo " n: nicht starten"
! 21: echo " h: diese Hilfe"
! 22: echo " a: automatisch."
! 23: echo " Wird nur gestartet wenn diese Skript"
! 24: echo " auf einem localen host laeuft."
! 25: breaksw
! 26: default
! 27: echo "ERROR: Ungueltige Angabe."
! 28: endsw
! 29: end
! 30: unset _a
! 31: else if ($CSHRC_MD_SSHAGENT_MOD == 'auto') then
! 32: set _m = a
! 33: else if ($CSHRC_MD_SSHAGENT_MOD == 'yes') then
! 34: set _m = j
! 35: else
! 36: set _m = n
! 37: endif
! 38:
! 39: if ($_m == a) then
! 40: set _m = j
! 41: if ($?REMOTEHOST) set _m = n
! 42: endif
! 43:
! 44:
! 45: if ($_m == j) then
! 46: set _env = ~/.ssh/env.`hostname`
! 47:
! 48: # wenn noch keine ssh-agent variablen abgelegt
! 49: # sind, dann muss er gestartet werden
! 50: if ( ! -f $_env ) then
! 51: set _start = 1
! 52:
! 53: # anderenfalls prueffen ob der Agant mit der PID rennt
! 54: else
! 55: eval `cat $_env`
! 56: set _status = ` \
! 57: ps -p $SSH_AGENT_PID | tail -1 | awk '{ print $5 }'`
! 58: # wenn nicht, muss er gestartet werden
! 59: if ( "$_status" != "ssh-agent" ) set _start = 1
! 60: unset _status
! 61: endif
! 62:
! 63: # wenn der agent gestartet werden soll
! 64: if ( $?_start ) then
! 65: echo -n "SSH-Agent starten ... "
! 66: ssh-agent -c | head -2 > $_env
! 67: chmod 600 $_env
! 68: eval `cat $_env`
! 69:
! 70: # key's laden
! 71: ssh-add
! 72: unset _start _env
! 73:
! 74: # Aliase setzen
! 75: alias agent-stop kill -15 $SSH_AGENT_PID
! 76: alias agent-stop-all killall ssh-agent
! 77: alias agent-lock ssh-add -x
! 78: alias agent-ulock ssh-add -X
! 79: aliass agent-start ~/.csh/sshagent.csh
! 80: endif
! 81: endif
! 82:
! 83: unset _m _env _status