Merge remote-tracking branch 'origin/pr/155'
authorMichael Prokop <mika@grml.org>
Wed, 3 Jun 2020 14:44:11 +0000 (16:44 +0200)
committerMichael Prokop <mika@grml.org>
Wed, 3 Jun 2020 14:44:11 +0000 (16:44 +0200)
grml-debootstrap

index 380bcd4..823d876 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