- (djm) Release 4.6p1
[openssh-git.git] / regress / ssh-com.sh
blob7bcd85b65c124682bb8ad75f87c55d39da1dcc61
1 # $OpenBSD: ssh-com.sh,v 1.7 2004/02/24 17:06:52 markus Exp $
2 # Placed in the Public Domain.
4 tid="connect to ssh.com server"
6 #TEST_COMBASE=/path/to/ssh/com/binaries
7 if [ "X${TEST_COMBASE}" = "X" ]; then
8 fatal '$TEST_COMBASE is not set'
9 fi
11 VERSIONS="
12 2.0.12
13 2.0.13
14 2.1.0
15 2.2.0
16 2.3.0
17 2.4.0
18 3.0.0
19 3.1.0
20 3.2.0
21 3.2.2
22 3.2.3
23 3.2.5
24 3.2.9
25 3.2.9.1
26 3.3.0"
27 # 2.0.10 does not support UserConfigDirectory
28 # 2.3.1 requires a config in $HOME/.ssh2
30 SRC=`dirname ${SCRIPT}`
32 # ssh.com
33 cat << EOF > $OBJ/sshd2_config
34 #*:
35 # Port and ListenAddress are not used.
36 QuietMode yes
37 Port 4343
38 ListenAddress 127.0.0.1
39 UserConfigDirectory ${OBJ}/%U
40 Ciphers AnyCipher
41 PubKeyAuthentication yes
42 #AllowedAuthentications publickey
43 AuthorizationFile authorization
44 HostKeyFile ${SRC}/dsa_ssh2.prv
45 PublicHostKeyFile ${SRC}/dsa_ssh2.pub
46 RandomSeedFile ${OBJ}/random_seed
47 MaxConnections 0
48 PermitRootLogin yes
49 VerboseMode no
50 CheckMail no
51 Ssh1Compatibility no
52 EOF
54 # create client config
55 sed "s/HostKeyAlias.*/HostKeyAlias ssh2-localhost-with-alias/" \
56 < $OBJ/ssh_config > $OBJ/ssh_config_com
58 # we need a DSA key for
59 rm -f ${OBJ}/dsa ${OBJ}/dsa.pub
60 ${SSHKEYGEN} -q -N '' -t dsa -f ${OBJ}/dsa
62 # setup userdir, try rsa first
63 mkdir -p ${OBJ}/${USER}
64 cp /dev/null ${OBJ}/${USER}/authorization
65 for t in rsa dsa; do
66 ${SSHKEYGEN} -e -f ${OBJ}/$t.pub > ${OBJ}/${USER}/$t.com
67 echo Key $t.com >> ${OBJ}/${USER}/authorization
68 echo IdentityFile ${OBJ}/$t >> ${OBJ}/ssh_config_com
69 done
71 # convert and append DSA hostkey
73 echon 'ssh2-localhost-with-alias,127.0.0.1,::1 '
74 ${SSHKEYGEN} -if ${SRC}/dsa_ssh2.pub
75 ) >> $OBJ/known_hosts
77 # go for it
78 for v in ${VERSIONS}; do
79 sshd2=${TEST_COMBASE}/${v}/sshd2
80 if [ ! -x ${sshd2} ]; then
81 continue
83 trace "sshd2 ${v}"
84 PROXY="proxycommand ${sshd2} -qif ${OBJ}/sshd2_config 2> /dev/null"
85 ${SSH} -qF ${OBJ}/ssh_config_com -o "${PROXY}" dummy exit 0
86 if [ $? -ne 0 ]; then
87 fail "ssh connect to sshd2 ${v} failed"
90 ciphers="3des-cbc blowfish-cbc arcfour"
91 macs="hmac-md5"
92 case $v in
93 2.4.*)
94 ciphers="$ciphers cast128-cbc"
95 macs="$macs hmac-sha1 hmac-sha1-96 hmac-md5-96"
97 3.*)
98 ciphers="$ciphers aes128-cbc cast128-cbc"
99 macs="$macs hmac-sha1 hmac-sha1-96 hmac-md5-96"
101 esac
102 #ciphers="3des-cbc"
103 for m in $macs; do
104 for c in $ciphers; do
105 trace "sshd2 ${v} cipher $c mac $m"
106 verbose "test ${tid}: sshd2 ${v} cipher $c mac $m"
107 ${SSH} -c $c -m $m -qF ${OBJ}/ssh_config_com -o "${PROXY}" dummy exit 0
108 if [ $? -ne 0 ]; then
109 fail "ssh connect to sshd2 ${v} with $c/$m failed"
111 done
112 done
113 done
115 rm -rf ${OBJ}/${USER}
116 for i in sshd_config_proxy ssh_config_proxy random_seed \
117 sshd2_config dsa.pub dsa ssh_config_com; do
118 rm -f ${OBJ}/$i
119 done