From: Christian Heller Date: Mon, 3 Mar 2025 04:24:48 +0000 (+0100) Subject: Fix script. X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/%22https:/validator.w3.org/condition?a=commitdiff_plain;h=b7a4fb646bbf5761a7f60ae665778e656439021d;p=config Fix script. --- 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