Fix shellcheck issue SC2174
[grml-debootstrap.git] / grml-debootstrap
index 380bcd4..52adf78 100755 (executable)
@@ -1809,6 +1809,8 @@ iface ${interface} inet dhcp
   fi
 
   if [ -n "${SSHCOPYID}" ] ; then
+    AUTHORIZED_KEYS_SOURCE=${AUTHORIZED_KEYS_SOURCE:-$HOME/.ssh/authorized_keys}
+    AUTHORIZED_KEYS_TARGET=${AUTHORIZED_KEYS_TARGET:-$MNTPOINT/root/.ssh/}
     if ssh-add -L >/dev/null 2>&1 ; then
       einfo "Use locally available public keys to authorise root login on the target system as requested via --sshcopyid option."
       mkdir -p "${MNTPOINT}"/root/.ssh
@@ -1820,6 +1822,17 @@ iface ${interface} inet dhcp
         eend 1
         bailout 1
       fi
+    elif [ -f "$AUTHORIZED_KEYS_SOURCE" ]; then
+      einfo "copying '$AUTHORIZED_KEYS_SOURCE' to '$AUTHORIZED_KEYS_TARGET' as requested via --sshcopyid option."
+      mkdir -p "$AUTHORIZED_KEYS_TARGET"
+      chmod 0700 "$AUTHORIZED_KEYS_TARGET"
+      if cp "$AUTHORIZED_KEYS_SOURCE" "$AUTHORIZED_KEYS_TARGET" ; then
+        eend 0
+      else
+        eerror "Error: copying '$AUTHORIZED_KEYS_SOURCE' to '$AUTHORIZED_KEYS_TARGET' failed"
+        eend 1
+        bailout 1
+      fi
     else
       eerror "Error: Could not open a connection to your authentication agent or the agent has no identities."
       eend 1
@@ -1838,7 +1851,8 @@ iface ${interface} inet dhcp
 
     AUTHORIZED_KEYS_TARGET="${MNTPOINT}/root/.ssh/"
     einfo "Copying '${AUTHORIZED_KEYS_SOURCE}' to '${AUTHORIZED_KEYS_TARGET}' as requested via --sshcopyauth option."
-    mkdir -m 0700 -p "${AUTHORIZED_KEYS_TARGET}"
+    mkdir -p "${AUTHORIZED_KEYS_TARGET}"
+    chmod 0700 "${AUTHORIZED_KEYS_TARGET}"
     if cp "${AUTHORIZED_KEYS_SOURCE}" "${AUTHORIZED_KEYS_TARGET}" ; then
       eend 0
     else