1
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-11 00:10:08 +00:00

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:
Christian Höltje 2014-03-13 14:44:58 -04:00
parent b6cbba9dfe
commit cfe468f6f6

View file

@ -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