agent.sh revision 294332
1193323Sed# $OpenBSD: agent.sh,v 1.11 2015/03/03 22:35:19 markus Exp $ 2193323Sed# Placed in the Public Domain. 3193323Sed 4193323Sedtid="simple agent test" 5193323Sed 6193323SedSSH_AUTH_SOCK=/nonexistent ${SSHADD} -l > /dev/null 2>&1 7193323Sedif [ $? -ne 2 ]; then 8193323Sed fail "ssh-add -l did not fail with exit code 2" 9193323Sedfi 10193323Sed 11193323Sedtrace "start agent" 12193323Sedeval `${SSHAGENT} -s` > /dev/null 13193323Sedr=$? 14193323Sedif [ $r -ne 0 ]; then 15249423Sdim fail "could not start ssh-agent: exit code $r" 16249423Sdimelse 17193323Sed ${SSHADD} -l > /dev/null 2>&1 18193323Sed if [ $? -ne 1 ]; then 19193323Sed fail "ssh-add -l did not fail with exit code 1" 20249423Sdim fi 21193323Sed trace "overwrite authorized keys" 22193323Sed printf '' > $OBJ/authorized_keys_$USER 23193323Sed for t in ${SSH_KEYTYPES}; do 24296417Sdim # generate user key for agent 25296417Sdim rm -f $OBJ/$t-agent 26296417Sdim ${SSHKEYGEN} -q -N '' -t $t -f $OBJ/$t-agent ||\ 27296417Sdim fail "ssh-keygen for $t-agent failed" 28296417Sdim # add to authorized keys 29296417Sdim cat $OBJ/$t-agent.pub >> $OBJ/authorized_keys_$USER 30296417Sdim # add privat key to agent 31296417Sdim ${SSHADD} $OBJ/$t-agent > /dev/null 2>&1 32296417Sdim if [ $? -ne 0 ]; then 33296417Sdim fail "ssh-add did succeed exit code 0" 34193323Sed fi 35296417Sdim done 36296417Sdim ${SSHADD} -l > /dev/null 2>&1 37193323Sed r=$? 38193323Sed if [ $r -ne 0 ]; then 39193323Sed fail "ssh-add -l failed: exit code $r" 40193323Sed fi 41193323Sed # the same for full pubkey output 42193323Sed ${SSHADD} -L > /dev/null 2>&1 43193323Sed r=$? 44193323Sed if [ $r -ne 0 ]; then 45193323Sed fail "ssh-add -L failed: exit code $r" 46193323Sed fi 47296417Sdim 48193323Sed trace "simple connect via agent" 49193323Sed for p in ${SSH_PROTOCOLS}; do 50296417Sdim ${SSH} -$p -F $OBJ/ssh_proxy somehost exit 5$p 51193323Sed r=$? 52193323Sed if [ $r -ne 5$p ]; then 53193323Sed fail "ssh connect with protocol $p failed (exit code $r)" 54193323Sed fi 55193323Sed done 56193323Sed 57193323Sed trace "agent forwarding" 58193323Sed for p in ${SSH_PROTOCOLS}; do 59296417Sdim ${SSH} -A -$p -F $OBJ/ssh_proxy somehost ${SSHADD} -l > /dev/null 2>&1 60193323Sed r=$? 61193323Sed if [ $r -ne 0 ]; then 62193323Sed fail "ssh-add -l via agent fwd proto $p failed (exit code $r)" 63296417Sdim fi 64193323Sed ${SSH} -A -$p -F $OBJ/ssh_proxy somehost \ 65193323Sed "${SSH} -$p -F $OBJ/ssh_proxy somehost exit 5$p" 66193323Sed r=$? 67296417Sdim if [ $r -ne 5$p ]; then 68296417Sdim fail "agent fwd proto $p failed (exit code $r)" 69193323Sed fi 70193323Sed done 71193323Sed 72193323Sed trace "delete all agent keys" 73193323Sed ${SSHADD} -D > /dev/null 2>&1 74198090Srdivacky r=$? 75198090Srdivacky if [ $r -ne 0 ]; then 76198090Srdivacky fail "ssh-add -D failed: exit code $r" 77296417Sdim fi 78296417Sdim 79193323Sed trace "kill agent" 80193323Sed ${SSHAGENT} -k > /dev/null 81193323Sedfi 82193323Sed