]> arthur.barton.de Git - ax-zsh.git/commitdiff
ssh: Add "ssh-autoadd" command
authorAlexander Barton <alex@barton.de>
Sat, 11 Feb 2017 13:18:05 +0000 (14:18 +0100)
committerAlexander Barton <alex@barton.de>
Sat, 11 Feb 2017 13:18:05 +0000 (14:18 +0100)
This command load SSH keys into the SSH agent, when one is running and
doesn't have any keys loaded already.

Note: Not having an SSH agent running at all is ok as well and results
in an "success" exit code (0) as well.

default_plugins/ssh/ssh.zshrc

index ce2a877d086258ae168b3b93e1e6994989357c51..234459f38663eec2b29b1668bb45da4da8f99f9e 100644 (file)
@@ -4,6 +4,16 @@
 # Make sure that "ssh(1)" is installed
 (( $+commands[ssh] )) || return
 
+# Load SSH keys into the SSH agent, when one is running and doesn't have
+# any keys already. Not having an SSH agent running at all is ok as well and
+# results in an "success" exit code (0) as well.
+ssh-autoadd() {
+       [[ -z "$SSH_AUTH_SOCK" ]] && return 0
+       ssh-add -l >/dev/null && return 0
+       [[ $? -eq 2 ]] && return 2
+       ssh-add
+}
+
 _ax_ssh_prompt() {
        [[ -n "$SSH_CLIENT" ]] || return 1
        return 0