From e91c736ea57de65b097f9cbaa10854649a8181c3 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Sat, 13 Jul 2013 16:34:40 +0100 Subject: [PATCH] bin/sign: Emit a `known_hosts' file in the correct form. --- bin/sign | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/bin/sign b/bin/sign index fbdadc6..f275355 100755 --- a/bin/sign +++ b/bin/sign @@ -2,6 +2,7 @@ set -e . lib/func.sh +orig_domain=$domain date=$(date +%Y-%m-%d) ## The key types are adorned with bit lengths. Work out the raw key type ## names. @@ -13,7 +14,7 @@ done ## Start a new output directory. rm -rf publish.new mkdir publish.new -exec 3publish.new/hosts.list +exec 3publish.new/hosts.list 5>publish.new/known_hosts echo ":certificate-authority" >&4 for kt in $rawkeytypes; do cp ca/ca-$kt.pub publish.new/ @@ -25,6 +26,7 @@ done ## Sign the various host keys. last=%%% +echo >&5 "### BEGIN $domain KEYS (generated $date)" while read line <&3; do ## Ignore comments and empty lines. @@ -70,11 +72,14 @@ while read line <&3; do publish.new/$host-$kt.pub mv publish.new/$host-$kt-cert.pub \ publish.new/$host-$kt.cert - { printf "%s " $names; cat host/$host-$kt.pub; } >&4 + for fd in 4 5; do + { printf "%s " $names; cat host/$host-$kt.pub; } >&$fd + done ssh-keygen -lv -fhost/$host-$kt.pub | sed 's,^,| ,' >&4 done done -exec 3>&- 4>&- +echo >&5 "### END $domain KEYS" +exec 3>&- 4>&- 5>&- ## Sign the list. run_gpg --armor -o publish.new/hosts.asc \ -- 2.11.0