1294332Sdes# $OpenBSD: agent.sh,v 1.11 2015/03/03 22:35:19 markus Exp $ 298937Sdes# Placed in the Public Domain. 398937Sdes 498937Sdestid="simple agent test" 598937Sdes 6180746SdesSSH_AUTH_SOCK=/nonexistent ${SSHADD} -l > /dev/null 2>&1 798937Sdesif [ $? -ne 2 ]; then 898937Sdes fail "ssh-add -l did not fail with exit code 2" 998937Sdesfi 1098937Sdes 1198937Sdestrace "start agent" 1298937Sdeseval `${SSHAGENT} -s` > /dev/null 1398937Sdesr=$? 1498937Sdesif [ $r -ne 0 ]; then 1598937Sdes fail "could not start ssh-agent: exit code $r" 1698937Sdeselse 1798937Sdes ${SSHADD} -l > /dev/null 2>&1 1898937Sdes if [ $? -ne 1 ]; then 1998937Sdes fail "ssh-add -l did not fail with exit code 1" 2098937Sdes fi 2198937Sdes trace "overwrite authorized keys" 22255670Sdes printf '' > $OBJ/authorized_keys_$USER 23294332Sdes for t in ${SSH_KEYTYPES}; do 2498937Sdes # generate user key for agent 2598937Sdes rm -f $OBJ/$t-agent 2698937Sdes ${SSHKEYGEN} -q -N '' -t $t -f $OBJ/$t-agent ||\ 2798937Sdes fail "ssh-keygen for $t-agent failed" 2898937Sdes # add to authorized keys 2998937Sdes cat $OBJ/$t-agent.pub >> $OBJ/authorized_keys_$USER 3098937Sdes # add privat key to agent 3198937Sdes ${SSHADD} $OBJ/$t-agent > /dev/null 2>&1 3298937Sdes if [ $? -ne 0 ]; then 3398937Sdes fail "ssh-add did succeed exit code 0" 3498937Sdes fi 3598937Sdes done 3698937Sdes ${SSHADD} -l > /dev/null 2>&1 37261320Sdes r=$? 38261320Sdes if [ $r -ne 0 ]; then 39261320Sdes fail "ssh-add -l failed: exit code $r" 4098937Sdes fi 4198937Sdes # the same for full pubkey output 4298937Sdes ${SSHADD} -L > /dev/null 2>&1 43261320Sdes r=$? 44261320Sdes if [ $r -ne 0 ]; then 45261320Sdes fail "ssh-add -L failed: exit code $r" 4698937Sdes fi 4798937Sdes 4898937Sdes trace "simple connect via agent" 49294332Sdes for p in ${SSH_PROTOCOLS}; do 5098937Sdes ${SSH} -$p -F $OBJ/ssh_proxy somehost exit 5$p 51261320Sdes r=$? 52261320Sdes if [ $r -ne 5$p ]; then 53261320Sdes fail "ssh connect with protocol $p failed (exit code $r)" 5498937Sdes fi 5598937Sdes done 5698937Sdes 5798937Sdes trace "agent forwarding" 58294332Sdes for p in ${SSH_PROTOCOLS}; do 5998937Sdes ${SSH} -A -$p -F $OBJ/ssh_proxy somehost ${SSHADD} -l > /dev/null 2>&1 60261320Sdes r=$? 61261320Sdes if [ $r -ne 0 ]; then 62261320Sdes fail "ssh-add -l via agent fwd proto $p failed (exit code $r)" 6398937Sdes fi 6498937Sdes ${SSH} -A -$p -F $OBJ/ssh_proxy somehost \ 6598937Sdes "${SSH} -$p -F $OBJ/ssh_proxy somehost exit 5$p" 66261320Sdes r=$? 67261320Sdes if [ $r -ne 5$p ]; then 68261320Sdes fail "agent fwd proto $p failed (exit code $r)" 6998937Sdes fi 7098937Sdes done 7198937Sdes 7298937Sdes trace "delete all agent keys" 7398937Sdes ${SSHADD} -D > /dev/null 2>&1 74261320Sdes r=$? 75261320Sdes if [ $r -ne 0 ]; then 76261320Sdes fail "ssh-add -D failed: exit code $r" 7798937Sdes fi 7898937Sdes 7998937Sdes trace "kill agent" 8098937Sdes ${SSHAGENT} -k > /dev/null 8198937Sdesfi 82