1 # $OpenBSD: ssh-com-client.sh,v 1.5 2003/05/14 22:08:27 markus Exp $
2 # Placed in the Public Domain.
4 tid="connect with ssh.com client"
6 #TEST_COMBASE=/path/to/ssh/com/binaries
7 if [ "X${TEST_COMBASE}" = "X" ]; then
8 fatal '$TEST_COMBASE is not set'
24 # 2.0.10 2.0.12 2.0.13 don't like the test setup
26 # setup authorized keys
27 SRC=`dirname ${SCRIPT}`
28 cp ${SRC}/dsa_ssh2.prv ${OBJ}/id.com
29 chmod 600 ${OBJ}/id.com
30 ${SSHKEYGEN} -i -f ${OBJ}/id.com > $OBJ/id.openssh
31 chmod 600 ${OBJ}/id.openssh
32 ${SSHKEYGEN} -y -f ${OBJ}/id.openssh > $OBJ/authorized_keys_$USER
33 ${SSHKEYGEN} -e -f ${OBJ}/id.openssh > $OBJ/id.com.pub
34 echo IdKey ${OBJ}/id.com > ${OBJ}/id.list
36 # we need a DSA host key
38 rm -f ${OBJ}/$t ${OBJ}/$t.pub
39 ${SSHKEYGEN} -q -N '' -t $t -f ${OBJ}/$t
40 $SUDO cp $OBJ/$t $OBJ/host.$t
41 echo HostKey $OBJ/host.$t >> $OBJ/sshd_config
43 # add hostkeys to known hosts
44 mkdir -p ${OBJ}/${USER}/hostkeys
45 HK=${OBJ}/${USER}/hostkeys/key_${PORT}_127.0.0.1
46 ${SSHKEYGEN} -e -f ${OBJ}/rsa.pub > ${HK}.ssh-rsa.pub
47 ${SSHKEYGEN} -e -f ${OBJ}/dsa.pub > ${HK}.ssh-dss.pub
49 cat > ${OBJ}/ssh2_config << EOF
52 StrictHostKeyChecking yes
56 IdentityFile ${OBJ}/id.list
57 RandomSeedFile ${OBJ}/random_seed
58 UserConfigDirectory ${OBJ}/%U
59 AuthenticationSuccessMsg no
64 # we need a real server (no ProxyConnect option)
72 for v in ${VERSIONS}; do
73 ssh2=${TEST_COMBASE}/${v}/ssh2
74 if [ ! -x ${ssh2} ]; then
88 cp ${HK}.$key.pub ${HK}.pub
91 ${ssh2} -q -F ${OBJ}/ssh2_config somehost exit 42
93 if [ $r -ne 42 ]; then
94 fail "ssh2 ${v} exit code test failed (got $r, expected 42)"
99 ${ssh2} -F ${OBJ}/ssh2_config somehost cat ${DATA} > ${COPY}
100 if [ $? -ne 0 ]; then
101 fail "ssh2 ${v} cat test (receive) failed"
103 cmp ${DATA} ${COPY} || fail "ssh2 ${v} cat test (receive) data mismatch"
105 # data transfer, again
106 if [ $skipcat -eq 0 ]; then
109 ${ssh2} -F ${OBJ}/ssh2_config host "cat > ${COPY}"
110 if [ $? -ne 0 ]; then
111 fail "ssh2 ${v} cat test (send) failed"
113 cmp ${DATA} ${COPY} || \
114 fail "ssh2 ${v} cat test (send) data mismatch"
117 # no stderr after eof
119 ${ssh2} -F ${OBJ}/ssh2_config somehost \
120 exec sh -c \'"exec > /dev/null; sleep 1; echo bla 1>&2; exit 0"\' \
122 if [ $? -ne 0 ]; then
123 fail "ssh2 ${v} stderr test failed"
127 rm -rf ${OBJ}/${USER}
128 for i in ssh2_config random_seed dsa.pub dsa host.dsa \
129 id.list id.com id.com.pub id.openssh; do