X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fhooks%2Finstsoft.DEFAULT;h=3bf0f62939ff27719751f0037dc7b5f1abbfb649;hb=79cd04733bf570db299ef09195c498a63f3f3fd5;hp=22c8104162eb6a9335f14bbc2eb712c06398eae0;hpb=bfd6bbd3a188aac6871f8b5e1116a0979682d52b;p=automated-distro-installer diff --git a/fai/config/hooks/instsoft.DEFAULT b/fai/config/hooks/instsoft.DEFAULT index 22c8104..3bf0f62 100755 --- a/fai/config/hooks/instsoft.DEFAULT +++ b/fai/config/hooks/instsoft.DEFAULT @@ -7,6 +7,15 @@ if ifclass VM && ! ifclass demohost || ifclass VOL_BULLSEYE_BOOTSTRAP || [[ ! $F exit 0 fi +if ifclass FSF; then + exit 0 +fi + +fcopy -riB /etc/apt/preferences.d +# ian: i'm guessing fai does this already +#fcopy -riB /etc/apt/sources.list.d + + keyfile=/var/lib/fai/config/distro-install-common/luks/host-$HOSTNAME f=$target/root/keyscript cat > $f </dev/null; then - mkdir -p $d/root/.ssh /etc/dropbear-initramfs - chmod 700 $d/root $d/root/.ssh - cp -p /root/.ssh/authorized_keys $d/root/.ssh/authorized_keys - cp -p /root/.ssh/authorized_keys /etc/dropbear-initramfs - if [[ -e /root/.ssh/authorized_keys2 ]]; then - cat /root/.ssh/authorized_keys2 >>/etc/dropbear-initramfs - fi +#### This bit is duplicated in rootsshsync, except we skip +#### update-initramfs and add $target +#### +# We generally shouldn't need this, because we don't ssh in on the 1st +# reboot since we initially embed the luks key, and with distro-begin, +# we run rootsshsync around the same time as we remove it. However, it +# could be helpful in case of problems. + +auth_dir=$target/etc/dropbear/initramfs/ +candidate=$(apt-cache policy dropbear-initramfs | awk '$1 == "Candidate:" { print $2 }' | head -n1 ||:) +if [[ $candidate ]] && dpkg --compare-versions "$candidate" lt 2020.81-4; then + auth_dir=$target/etc/dropbear-initramfs +fi +auth_file=$auth_dir/authorized_keys +mkdir -p $auth_dir +if [[ ! -e $auth_file ]] || ! diff -q /root/.ssh/authorized_keys $auth_file; then + cp -p /root/.ssh/authorized_keys $auth_file fi