diff options
Diffstat (limited to 'regress/knownhosts.sh')
-rw-r--r-- | regress/knownhosts.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/regress/knownhosts.sh b/regress/knownhosts.sh new file mode 100644 index 0000000..7a9da5b --- /dev/null +++ b/regress/knownhosts.sh @@ -0,0 +1,35 @@ +# $OpenBSD: knownhosts.sh,v 1.2 2023/02/09 09:55:33 dtucker Exp $ +# Placed in the Public Domain. + +tid="known hosts" + +opts="-F $OBJ/ssh_proxy" + +trace "test initial connection" +${SSH} $opts somehost true || fail "initial connection" + +trace "learn hashed known host" +>$OBJ/known_hosts +${SSH} -ohashknownhosts=yes -o stricthostkeychecking=no $opts somehost true \ + || fail "learn hashed known_hosts" + +trace "test hashed known hosts" +${SSH} $opts somehost true || fail "reconnect with hashed known hosts" + +trace "no newline at end of known_hosts" +printf "something" >$OBJ/known_hosts +${SSH} $opts -ostricthostkeychecking=no somehost true \ + || fail "hostkey update, missing newline, no strict" +${SSH} $opts -ostricthostkeychecking=yes somehost true \ + || fail "reconnect after adding with missing newline" + +trace "newline at end of known_hosts" +printf "something\n" >$OBJ/known_hosts +${SSH} $opts -ostricthostkeychecking=no somehost true \ + || fail "hostkey update, newline, no strict" +${SSH} $opts -ostricthostkeychecking=yes somehost true \ + || fail "reconnect after adding without missing newline" +lines=`wc -l <$OBJ/known_hosts` +if [ $lines -ne 2 ]; then + fail "expected 2 lines in known_hosts, found $lines" +fi |