summaryrefslogtreecommitdiff
path: root/src/seckey2sshagent
diff options
context:
space:
mode:
authorJameson Graef Rollins <jrollins@phys.columbia.edu>2008-06-17 14:35:06 -0400
committerJameson Graef Rollins <jrollins@phys.columbia.edu>2008-06-17 14:35:06 -0400
commit363b8d8cb785c25937460b552fefde5fbccfb6ba (patch)
tree206b58f0822eb1b76222defb2d9b0da5d635bed6 /src/seckey2sshagent
parent79e9e7214bcbd4ecf4d555a1be413532b216c2e7 (diff)
Add preliminary script to try to import a gpg private key into the ssh
agent.
Diffstat (limited to 'src/seckey2sshagent')
-rwxr-xr-xsrc/seckey2sshagent25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/seckey2sshagent b/src/seckey2sshagent
new file mode 100755
index 0000000..0e8d695
--- /dev/null
+++ b/src/seckey2sshagent
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+cleanup() {
+ echo -n "removing temp gpg home... "
+ rm -rf $FOO
+ echo "done."
+}
+
+trap cleanup EXIT
+
+GPGID="$1"
+
+idchars=$(echo $GPGID | wc -m)
+if [ "$idchars" -ne 17 ] ; then
+ echo "GPGID is not 16 characters ($idchars)."
+ exit 1
+fi
+
+FOO=$(mktemp -d)
+
+gpg --export-secret-key --export-options export-reset-subkey-passwd $GPGID | GNUPGHOME=$FOO gpg --import
+
+GNUPGHOME=$FOO gpg --edit-key $GPGID
+
+GNUPGHOME=$FOO gpg --export-secret-key $GPGID | openpgp2ssh $GPGID | ssh-add -c /dev/stdin