Make sure that host keys are already accepted before
running tests.

https://bugs.gentoo.org/493866

--- a/regress/putty-ciphers.sh
+++ b/regress/putty-ciphers.sh
@@ -10,11 +10,17 @@ fi
 
 for c in aes 3des aes128-ctr aes192-ctr aes256-ctr ; do
 	verbose "$tid: cipher $c"
+	rm -f ${COPY}
 	cp ${OBJ}/.putty/sessions/localhost_proxy \
 	    ${OBJ}/.putty/sessions/cipher_$c
 	echo "Cipher=$c" >> ${OBJ}/.putty/sessions/cipher_$c
 
-	rm -f ${COPY}
+	env HOME=$PWD echo "y" | ${PLINK} -load cipher_$c \
+	    -i ${OBJ}/putty.rsa2 "exit"
+	if [ $? -ne 0 ]; then
+		fail "failed to pre-cache host key"
+	fi
+
 	env HOME=$PWD ${PLINK} -load cipher_$c -batch -i ${OBJ}/putty.rsa2 \
 	    cat ${DATA} > ${COPY}
 	if [ $? -ne 0 ]; then
--- a/regress/putty-kex.sh
+++ b/regress/putty-kex.sh
@@ -14,6 +14,12 @@ for k in dh-gex-sha1 dh-group1-sha1 dh-group14-sha1 ; do
 	    ${OBJ}/.putty/sessions/kex_$k
 	echo "KEX=$k" >> ${OBJ}/.putty/sessions/kex_$k
 
+	env HOME=$PWD echo "y" | ${PLINK} -load kex_$k \
+	    -i ${OBJ}/putty.rsa2 "exit"
+	if [ $? -ne 0 ]; then
+		fail "failed to pre-cache host key"
+	fi
+
 	env HOME=$PWD ${PLINK} -load kex_$k -batch -i ${OBJ}/putty.rsa2 true
 	if [ $? -ne 0 ]; then
 		fail "KEX $k failed"
--- a/regress/putty-transfer.sh
+++ b/regress/putty-transfer.sh
@@ -14,6 +14,13 @@ for c in 0 1 ; do
 	cp ${OBJ}/.putty/sessions/localhost_proxy \
 	    ${OBJ}/.putty/sessions/compression_$c
 	echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k
+
+	env HOME=$PWD echo "y" | ${PLINK} -load compression_$c \
+	    -i ${OBJ}/putty.rsa2 "exit"
+	if [ $? -ne 0 ]; then
+		fail "failed to pre-cache host key"
+	fi
+
 	env HOME=$PWD ${PLINK} -load compression_$c -batch \
 	    -i ${OBJ}/putty.rsa2 cat ${DATA} > ${COPY}
 	if [ $? -ne 0 ]; then
