agent.sh revision 1.2
1tid="simple agent test"
2
3SSH_AUTH_SOCK=/nonexistant ssh-add -l > /dev/null 2>&1
4if [ $? -ne 2 ]; then
5	fail "ssh-add -l did not fail with exit code 2"
6fi
7
8trace "start agent"
9eval `ssh-agent -s` > /dev/null
10r=$?
11if [ $r -ne 0 ]; then
12	fail "could not start ssh-agent: exit code $r"
13else
14	ssh-add -l > /dev/null 2>&1
15	if [ $? -ne 1 ]; then
16		fail "ssh-add -l did not fail with exit code 1"
17	fi
18	trace "overwrite authorized keys"
19	echo -n > $OBJ/authorized_keys_$USER
20	for t in rsa rsa1; do
21		# generate user key for agent
22		rm -f $OBJ/$t-agent
23		ssh-keygen -q -N '' -t $t -f $OBJ/$t-agent ||\
24			 fail "ssh-keygen for $t-agent failed"
25		# add to authorized keys
26		cat $OBJ/$t-agent.pub >> $OBJ/authorized_keys_$USER
27		# add privat key to agent
28		ssh-add $OBJ/$t-agent > /dev/null 2>&1
29		if [ $? -ne 0 ]; then
30			fail "ssh-add did succeed exit code 0"
31		fi
32	done
33	ssh-add -l > /dev/null 2>&1
34	if [ $? -ne 0 ]; then
35		fail "ssh-add -l failed: exit code $?"
36	fi
37	# the same for full pubkey output
38	ssh-add -L > /dev/null 2>&1
39	if [ $? -ne 0 ]; then
40		fail "ssh-add -L failed: exit code $?"
41	fi
42
43	trace  "simple connect via agent"
44	for p in 1 2; do
45		ssh -o "Protocol=$p" -F $OBJ/ssh_config somehost exit 5$p
46		if [ $? -ne 5$p ]; then
47			fail "ssh connect with protocol $p failed (exit code $?)"
48		fi
49	done
50
51	trace  "delete all agent keys"
52	ssh-add -D > /dev/null 2>&1
53	if [ $? -ne 0 ]; then
54		fail "ssh-add -D failed: exit code $?"
55	fi
56
57	trace "kill agent"
58	ssh-agent -k > /dev/null
59fi
60