ssh-agent: prevent environment file from flapping
On an OS X laptop, the variable `$HOST` changes a lot depending on what wifi network you're connected to. This causes a lot of `~/.ssh/environment-$HOST` files to be created and causes multiple ssh-agents to created. Instead, use `scutil --get ComputerName` to get something more stable.
This commit is contained in:
parent
b6cbba9dfe
commit
cfe468f6f6
@ -27,7 +27,7 @@
|
||||
# Florent Thoumie and Jonas Pfenniger
|
||||
#
|
||||
|
||||
local _plugin__ssh_env=$HOME/.ssh/environment-$HOST
|
||||
local _plugin__ssh_env
|
||||
local _plugin__forwarding
|
||||
|
||||
function _plugin__start_agent()
|
||||
@ -42,12 +42,20 @@ function _plugin__start_agent()
|
||||
. ${_plugin__ssh_env} > /dev/null
|
||||
|
||||
# load identies
|
||||
zstyle -a :omz:plugins:ssh-agent identities identities
|
||||
zstyle -a :omz:plugins:ssh-agent identities identities
|
||||
echo starting ssh-agent...
|
||||
|
||||
/usr/bin/ssh-add $HOME/.ssh/${^identities}
|
||||
}
|
||||
|
||||
# Get the filename to store/lookup the environment from
|
||||
if (( $+commands[scutil] )); then
|
||||
# It's OS X!
|
||||
_plugin__ssh_env="$HOME/.ssh/environment-$(scutil --get ComputerName)"
|
||||
else
|
||||
_plugin__ssh_env="$HOME/.ssh/environment-$HOST"
|
||||
fi
|
||||
|
||||
# test if agent-forwarding is enabled
|
||||
zstyle -b :omz:plugins:ssh-agent agent-forwarding _plugin__forwarding
|
||||
if [[ ${_plugin__forwarding} == "yes" && -n "$SSH_AUTH_SOCK" ]]; then
|
||||
|
Loading…
Reference in New Issue
Block a user