From 01009520182eabbe4b7cc2a9c63c28531b387544 Mon Sep 17 00:00:00 2001 From: Sean Date: Fri, 7 Oct 2022 16:10:17 -0700 Subject: [PATCH] Fixed ssh host keys not regenerating When using the -p option, the ssh host keys would be deleted, but not regenerated, rendering ssh unusable. See issue #168 --- pishrink.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pishrink.sh b/pishrink.sh index c7b1fb3..144ceea 100755 --- a/pishrink.sh +++ b/pishrink.sh @@ -316,7 +316,12 @@ if [[ $prep == true ]]; then info "Syspreping: Removing logs, apt archives, dhcp leases and ssh hostkeys" mountdir=$(mktemp -d) mount "$loopback" "$mountdir" - rm -rvf $mountdir/var/cache/apt/archives/* $mountdir/var/lib/dhcpcd5/* $mountdir/var/log/* $mountdir/var/tmp/* $mountdir/tmp/* $mountdir/etc/ssh/*_host_* + rm -rvf $mountdir/var/cache/apt/archives/* $mountdir/var/lib/dhcpcd5/* $mountdir/var/log/* $mountdir/var/tmp/* $mountdir/tmp/* + if [[ -f "$mountdir/lib/systemd/system/regenerate_ssh_host_keys.service" ]] && [[ -d "$mountdir/etc/systemd/system/multi-user.target.wants" ]]; then + ln -s $mountdir/lib/systemd/system/regenerate_ssh_host_keys.service $mountdir/etc/systemd/system/multi-user.target.wants/regenerate_ssh_host_keys.service + else + info "could not locate key regeneration service, skipping keygen" + fi umount "$mountdir" fi