2015-03-24 21:19:15 +01:00
|
|
|
# $OpenBSD: kextype.sh,v 1.6 2015/03/24 20:19:15 markus Exp $
|
2010-11-05 00:16:34 +01:00
|
|
|
# Placed in the Public Domain.
|
|
|
|
|
|
|
|
tid="login with different key exchange algorithms"
|
|
|
|
|
|
|
|
TIME=/usr/bin/time
|
|
|
|
cp $OBJ/sshd_proxy $OBJ/sshd_proxy_bak
|
|
|
|
cp $OBJ/ssh_proxy $OBJ/ssh_proxy_bak
|
|
|
|
|
2014-05-15 07:07:53 +02:00
|
|
|
# Make server accept all key exchanges.
|
2018-10-04 23:16:02 +02:00
|
|
|
|
|
|
|
if [ "$os" == "windows" ]; then
|
|
|
|
# Remove CR (carriage return)
|
|
|
|
ALLKEX=`${SSH} -Q kex | sed 's/\r$//'`
|
|
|
|
else
|
|
|
|
ALLKEX=`${SSH} -Q kex`
|
|
|
|
fi
|
2014-05-15 07:07:53 +02:00
|
|
|
KEXOPT=`echo $ALLKEX | tr ' ' ,`
|
|
|
|
echo "KexAlgorithms=$KEXOPT" >> $OBJ/sshd_proxy
|
|
|
|
|
2010-11-05 00:16:34 +01:00
|
|
|
tries="1 2 3 4"
|
2013-11-07 05:32:37 +01:00
|
|
|
for k in `${SSH} -Q kex`; do
|
2018-10-04 23:16:02 +02:00
|
|
|
if [ "$os" == "windows" ]; then
|
|
|
|
k=${k/$'\r'/} # Remove CR (carriage return)
|
|
|
|
fi
|
2010-11-05 00:16:34 +01:00
|
|
|
verbose "kex $k"
|
|
|
|
for i in $tries; do
|
|
|
|
${SSH} -F $OBJ/ssh_proxy -o KexAlgorithms=$k x true
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
fail "ssh kex $k"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
done
|
|
|
|
|