summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2022-04-22 13:21:39 +0200
committerErich Eckner <git@eckner.net>2022-04-22 13:21:39 +0200
commitefd3eb7da598daadbb40ca6f7221f86c852d5e72 (patch)
tree0b1965be922d2cd87d0978dac165204c3c30a1d0
parent373d0ef7ae1a144d8f087ee2b2b1322d152c1bd2 (diff)
downloadssh-keystore-efd3eb7da598daadbb40ca6f7221f86c852d5e72.tar.xz
scripts/gather-files überarbeitet
-rwxr-xr-xscripts/gather-files22
1 files changed, 13 insertions, 9 deletions
diff --git a/scripts/gather-files b/scripts/gather-files
index 3dfaf14..e33d8dd 100755
--- a/scripts/gather-files
+++ b/scripts/gather-files
@@ -1,17 +1,14 @@
#!/bin/bash
-if [ $# -ne 1 ] && [ $# -ne 2 ]; then
+if [ $# -ne 1 ]; then
>&2 echo 'usage: '"$0"' host'
- >&2 echo 'usage: '"$0"' host ssh-alias'
exit 1
fi
cd "${0%/*}/.."
-rm -rf --one-file-system "hosts/$1"
-mkdir -p "hosts/$1"
-
ssh "${2:-$1}" -t 'su -c '"'"'
+ uname -n
cut -d: -f1,6 \
</etc/passwd \
| tr ":" " " \
@@ -26,7 +23,14 @@ ssh "${2:-$1}" -t 'su -c '"'"'
2>/dev/null \
| tee /dev/stderr \
| sed 1d \
-| while read user key; do
- printf '%s\n' "${key}" \
- >> "hosts/$1/${user}"
-done
+| tr -d '\r' \
+| {
+ read -r host
+ [ -z "${host}" ] && exit 1
+ rm -rf --one-file-system "hosts/${host}"
+ mkdir -p "hosts/${host}"
+ while read user key; do
+ printf '%s\n' "${key}" \
+ >> "hosts/${host}/${user}"
+ done
+}