chiark / gitweb /
setup, bin/: Some scripts which are useful in Cygwin.
[profile] / bin / start-ssh-pageant
diff --git a/bin/start-ssh-pageant b/bin/start-ssh-pageant
new file mode 100644 (file)
index 0000000..cb704dd
--- /dev/null
@@ -0,0 +1,13 @@
+#! /bin/sh -ex
+PATH=/bin:$HOME/bin:$PATH
+eval $(tmpdir -b)
+sockdir=${TMPDIR?}/.ssh-agent.$(hostname).${USER-$(id -un)}
+if [ -S $sockdir/sock ]; then
+  set +e; ssh-add -l >/dev/null 2>&1; rc=$?; set -e
+  case $rc in 0) exit 0 ;; esac
+  kill $(cat $sockdir/pid) || :
+  rm -f $sockdir/pid $sockdir/sock
+fi
+mkdir -p -m700 $sockdir
+(cd /; exec run ssh-pageant -d -a$sockdir/sock >/dev/null 2>&1)&
+echo $! >$sockdir/pid