1# $OpenBSD: knownhosts.sh,v 1.2 2023/02/09 09:55:33 dtucker Exp $ 2# Placed in the Public Domain. 3 4tid="known hosts" 5 6opts="-F $OBJ/ssh_proxy" 7 8trace "test initial connection" 9${SSH} $opts somehost true || fail "initial connection" 10 11trace "learn hashed known host" 12>$OBJ/known_hosts 13${SSH} -ohashknownhosts=yes -o stricthostkeychecking=no $opts somehost true \ 14 || fail "learn hashed known_hosts" 15 16trace "test hashed known hosts" 17${SSH} $opts somehost true || fail "reconnect with hashed known hosts" 18 19trace "no newline at end of known_hosts" 20printf "something" >$OBJ/known_hosts 21${SSH} $opts -ostricthostkeychecking=no somehost true \ 22 || fail "hostkey update, missing newline, no strict" 23${SSH} $opts -ostricthostkeychecking=yes somehost true \ 24 || fail "reconnect after adding with missing newline" 25 26trace "newline at end of known_hosts" 27printf "something\n" >$OBJ/known_hosts 28${SSH} $opts -ostricthostkeychecking=no somehost true \ 29 || fail "hostkey update, newline, no strict" 30${SSH} $opts -ostricthostkeychecking=yes somehost true \ 31 || fail "reconnect after adding without missing newline" 32lines=`wc -l <$OBJ/known_hosts` 33if [ $lines -ne 2 ]; then 34 fail "expected 2 lines in known_hosts, found $lines" 35fi 36