home · contact · privacy
Fix script.
authorChristian Heller <c.heller@plomlompom.de>
Mon, 3 Mar 2025 04:24:48 +0000 (05:24 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Mon, 3 Mar 2025 04:24:48 +0000 (05:24 +0100)
constants.sh
testing/scripts/setup_secrets.sh

index 3c52e617babaaee9cd6bd13b8177417505602a19..143793d738af4ba9ca9065c31f74d4736824e4b0 100755 (executable)
@@ -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"
index a1996090fcffd0cf30e71fab8ee26528d2277182..cc7086d2450773dffa8fb2b0e1cf5ccd31134a4f 100755 (executable)
@@ -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