aboutsummaryrefslogtreecommitdiffstats
path: root/sshfprs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'sshfprs.sh')
-rwxr-xr-xsshfprs.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/sshfprs.sh b/sshfprs.sh
new file mode 100755
index 0000000..83cebd9
--- /dev/null
+++ b/sshfprs.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# Like ssh-keygen -lf, but for a file such as authorized_keys, which
+# may contain multiple keys.
+#
+# Usage: sshfprs.sh file [prefix]
+
+set -ue
+
+file="$1"
+prefix="${2:-}"
+
+while read pk; do
+ # ssh-keygen can't read from STDIN, and ash doesn't have the '<<<'
+ # construct, so we save each pubkey in a temporary file
+ pkf=$(mktemp)
+ echo "$pk" > "$pkf"
+ echo "${prefix}$(ssh-keygen -lf $pkf)"
+ rm "$pkf"
+done < "$file"