summaryrefslogtreecommitdiff
path: root/zsh
diff options
context:
space:
mode:
Diffstat (limited to 'zsh')
-rw-r--r--zsh/functions/op-ssh-add7
-rw-r--r--zsh/functions/vault7
2 files changed, 12 insertions, 2 deletions
diff --git a/zsh/functions/op-ssh-add b/zsh/functions/op-ssh-add
index d64efd9..012424f 100644
--- a/zsh/functions/op-ssh-add
+++ b/zsh/functions/op-ssh-add
@@ -18,11 +18,16 @@ if [[ -z ${pub} ]]; then
return $?
fi
+local session=$(op signin --raw)
+if [[ -z ${session} ]]; then
+ return 1
+fi
zmodload zsh/zpty
zpty ssh $(which -p ssh-add) $@
zpty -w ssh $(op get item \
$(cut -d' ' -f3 ${pub}) \
--fields password \
- --session $(op signin --raw))
+ --session ${session})
zpty -r ssh
zpty -d ssh
+op signout --session ${session}
diff --git a/zsh/functions/vault b/zsh/functions/vault
index abe0158..8196772 100644
--- a/zsh/functions/vault
+++ b/zsh/functions/vault
@@ -5,8 +5,13 @@ case $1 in
hdiutil unmount -quiet $2
;;
open)
- op get item ${2:t} --fields password --session $(op signin --raw) \
+ local session=$(op signin --raw)
+ if [[ -z ${session} ]]; then
+ return 1
+ fi
+ op get item ${2:t} --fields password --session ${session} \
| hdiutil attach -quiet -stdinpass $2
+ op signout --session ${session}
;;
*)
return 1