1# $OpenBSD: try-ciphers.sh,v 1.25 2015/03/24 20:22:17 markus Exp $ 2# Placed in the Public Domain. 3 4tid="try ciphers" 5 6cp $OBJ/sshd_proxy $OBJ/sshd_proxy_bak 7 8for c in `${SSH} -Q cipher`; do 9 n=0 10 for m in `${SSH} -Q mac`; do 11 trace "proto 2 cipher $c mac $m" 12 verbose "test $tid: proto 2 cipher $c mac $m" 13 cp $OBJ/sshd_proxy_bak $OBJ/sshd_proxy 14 echo "Ciphers=$c" >> $OBJ/sshd_proxy 15 echo "MACs=$m" >> $OBJ/sshd_proxy 16 ${SSH} -F $OBJ/ssh_proxy -2 -m $m -c $c somehost true 17 if [ $? -ne 0 ]; then 18 fail "ssh -2 failed with mac $m cipher $c" 19 fi 20 # No point trying all MACs for AEAD ciphers since they 21 # are ignored. 22 if ${SSH} -Q cipher-auth | grep "^${c}\$" >/dev/null 2>&1 ; then 23 break 24 fi 25 n=`expr $n + 1` 26 done 27done 28 29if ssh_version 1; then 30 ciphers="3des blowfish" 31else 32 ciphers="" 33fi 34for c in $ciphers; do 35 trace "proto 1 cipher $c" 36 verbose "test $tid: proto 1 cipher $c" 37 ${SSH} -F $OBJ/ssh_proxy -1 -c $c somehost true 38 if [ $? -ne 0 ]; then 39 fail "ssh -1 failed with cipher $c" 40 fi 41done 42 43