#! /bin/sh # # Tell the user that the machine is ready to slurp the key for full disk # encryption. # # Copyright 2013 Guilhem Moulin # # Licensed under the GNU GPL version 3 or higher. set -ue cd /target/etc/ chroot /target/ service ssh start; sleep 1 sed -i 's/^DenyUsers \*$/AllowGroups ssh/' ./ssh/sshd_config # Busybox's sed doesn't support address '0,/../' user="$(sed -rn 's/^([^:]*):[^:]*:1000:.*/\1/p' ./passwd)" home="/target/$(sed -rn 's/^[^:]*:[^:]*:1000:[^:]*:[^:]*:([^:]*):.*/\1/p' ./passwd)" . /usr/share/debconf/confmodule ipv4="$(ip addr show eth0 | sed -nr 's/^\s+inet\s([0-9.]{4,32}).*/\1/p')" template=$(mktemp) cat > "$template" < "$pkf" echo " - $(ssh-keygen -lf $pkf)" >> "$template" rm "$pkf" done < "$home/.ssh/authorized_keys" # TODO: key granted access to the initramfs # TODO: copy the previous keys? debconf-loadtemplate post-install "$template" db_settitle post-install/title db_input critical post-install/text db_go