summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/ssh-agent/ssh-agent.plugin.zsh17
1 files changed, 7 insertions, 10 deletions
diff --git a/plugins/ssh-agent/ssh-agent.plugin.zsh b/plugins/ssh-agent/ssh-agent.plugin.zsh
index becd5ea17..83548648b 100644
--- a/plugins/ssh-agent/ssh-agent.plugin.zsh
+++ b/plugins/ssh-agent/ssh-agent.plugin.zsh
@@ -39,16 +39,13 @@ function _add_identities() {
return
fi
- # If no keys specified in zstyle, add default keys.
- # Mimics calling ssh-add with no arguments.
- if [[ ${#identities[@]} -eq 0 ]]; then
- # Iterate over files in .ssh folder.
- for file in "$HOME/.ssh"/*; do
- # Check if file is a regular file and starts with "-----BEGIN OPENSSH PRIVATE KEY-----".
- if [[ -f "$file" && $(command head -n 1 "$file") =~ ^-----BEGIN\ OPENSSH\ PRIVATE\ KEY----- ]]; then
- # Add filename (without path) to identities array.
- identities+=("${file##*/}")
- fi
+ # add default keys if no identities were set up via zstyle
+ # this is to mimic the call to ssh-add with no identities
+ if [[ ${#identities} -eq 0 ]]; then
+ # key list found on `ssh-add` man page's DESCRIPTION section
+ for id in id_rsa id_dsa id_ecdsa id_ed25519 id_ed25519_sk identity; do
+ # check if file exists
+ [[ -f "$HOME/.ssh/$id" ]] && identities+=($id)
done
fi