summaryrefslogtreecommitdiff
path: root/set-authorized-key
diff options
context:
space:
mode:
Diffstat (limited to 'set-authorized-key')
-rwxr-xr-xset-authorized-key19
1 files changed, 19 insertions, 0 deletions
diff --git a/set-authorized-key b/set-authorized-key
new file mode 100755
index 0000000..b74eb2f
--- /dev/null
+++ b/set-authorized-key
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+set -eu
+
+img="$1"
+pubkey="$2"
+
+undo() {
+ umount --force "$tmp" || true
+ rmdir "$tmp"
+ kpartx -dsv "$img"
+}
+
+trap undo EXIT
+tmp="$(mktemp -d)"
+
+dev="/dev/mapper/$(kpartx -asv "$img" | awk '{ print $3 }')"
+mount "$dev" "$tmp"
+cp "$pubkey" "$tmp/home/manager/.ssh/authorized_keys"