From b7a4fb646bbf5761a7f60ae665778e656439021d Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Mon, 3 Mar 2025 05:24:48 +0100
Subject: [PATCH] Fix script.

---
 constants.sh                     |  3 ++-
 testing/scripts/setup_secrets.sh | 33 +++++++++++++++++---------------
 2 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/constants.sh b/constants.sh
index 3c52e61..143793d 100755
--- a/constants.sh
+++ b/constants.sh
@@ -13,7 +13,8 @@ PATH_MANY_MISC="${PATH_MANY}/scripts/_misc.sh"
 USERNAME="plom"
 PATH_USER_HOME="/home/${USERNAME}"
 
-FILENAME_PUBLIC_KEY='id_rsa.pub'
+FILENAME_PRIVATE_KEY='id_rsa.pub'
+FILENAME_PUBLIC_KEY="${FILENAME_PRIVATE_KEY}.pub"
 URL_PUBLIC_KEY="https://dump.plomlompom.com/dump/${FILENAME_PUBLIC_KEY}"
 PATH_REL_LOCAL_SSH=".ssh"
 PATH_REL_AUTHORIZED_KEYS="${PATH_REL_LOCAL_SSH}/authorized_keys"
diff --git a/testing/scripts/setup_secrets.sh b/testing/scripts/setup_secrets.sh
index a199609..cc7086d 100755
--- a/testing/scripts/setup_secrets.sh
+++ b/testing/scripts/setup_secrets.sh
@@ -17,21 +17,18 @@ abort_if_exists() {
     fi
 }
 PATH_REL_SECRETS=to_usb
-PATH_TARGET=${PATH_USER_HOME}/${PATH_REL_SECRETS}
+PATH_SECRETS=${PATH_USER_HOME}/${PATH_REL_SECRETS}
 PATH_SSH=${PATH_USER_HOME}/${PATH_REL_LOCAL_SSH}
-abort_if_exists "${PATH_TARGET}"
+abort_if_exists "${PATH_SECRETS}"
 abort_if_exists "${PATH_USER_SSH}"
 
-# Build paths based on device name. 
+# Mount secrets device and copy over its content.
 expect_min_n_args 1 "(device name)" "$@"
 SECRETS_DEV=$1
 PATH_SOURCE=/media/${SECRETS_DEV}/${PATH_REL_SECRETS}
-PATH_SECRETS_DEV=/dev/${SECRETS_DEV}
-NAME_KEY=id_rsa
-
-# Mount secrets device and copy over its content.
-echo "Put secrets drive into slot for ${PATH_SECRETS_DEV}."
-while [ ! -e "${PATH_SECRETS_DEV}" ]; do
+PATH_DEV=/dev/${SECRETS_DEV}
+echo "Put secrets drive into slot for ${PATH_DEV}."
+while [ ! -e "${PATH_DEV}" ]; do
     sleep 0.1
 done
 while [ true ]; do
@@ -41,7 +38,7 @@ while [ true ]; do
     stty echo
     echo "" # newline so user knows their input return was accepted
     set +e
-    echo "${SECRETS_PASS}" | pmount "${PATH_SECRETS_DEV}"
+    echo "${SECRETS_PASS}" | pmount "${PATH_DEV}"
     result=$?
     set -e
     if [ "${result}" = "0" ]; then
@@ -51,12 +48,18 @@ while [ true ]; do
 	exit 1
     fi
 done
-cp -a "${PATH_SOURCE}" "${PATH_TARGET}"
-chown -R plom:plom "${PATH_TARGET}"
+cp -a "${PATH_SOURCE}" "${PATH_SECRETS}"
+chown -R plom:plom "${PATH_SECRETS}"
 pumount "${SECRETS_DEV}"
-echo "You can remove ${PATH_SECRETS_DEV} now."
+echo "You can remove ${PATH_DEV} now."
 
 # Set up SSH authentication.
 echo "Setting up .ssh"
-su -lc "mkdir -p ${PATH_USER_SSH} && cp ${PATH_TARGET}/${NAME_KEY} ${PATH_USER_SSH}/"
-su -lc "ssh-keygen -y -f ${PATH_SSH}/${NAME_KEY} > ${PATH_SSH}/${NAME_KEY}.pub" plom
+PATH_PRIVATE_KEY=${PATH_USER_SSH}/${FILENAME_PRIVATE_KEY}
+PATH_PUBLIC_KEY=${PATH_USER_SSH}/${FILENAME_PUBLIC_KEY}
+su -lc "mkdir -p ${PATH_USER_SSH} && cp ${PATH_SECRETS}/${FILENAME_PRIVATE_KEY} ${PATH_PRIVATE_KEY}" plom
+while [ ! -e "${PATH_PUBLIC_KEY}" ]; do
+    set +e
+    su -lc "ssh-keygen -y -f ${PATH_PRIVATE_KEY} > ${PATH_PUBLIC_KEY}" plom
+    set -e
+done
-- 
2.30.2