Commit cfe468f6 authored by Christian Höltje's avatar Christian Höltje
Browse files

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.
parent b6cbba9d
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
# Florent Thoumie and Jonas Pfenniger # Florent Thoumie and Jonas Pfenniger
# #
local _plugin__ssh_env=$HOME/.ssh/environment-$HOST local _plugin__ssh_env
local _plugin__forwarding local _plugin__forwarding
function _plugin__start_agent() function _plugin__start_agent()
...@@ -48,6 +48,14 @@ function _plugin__start_agent() ...@@ -48,6 +48,14 @@ function _plugin__start_agent()
/usr/bin/ssh-add $HOME/.ssh/${^identities} /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 # test if agent-forwarding is enabled
zstyle -b :omz:plugins:ssh-agent agent-forwarding _plugin__forwarding zstyle -b :omz:plugins:ssh-agent agent-forwarding _plugin__forwarding
if [[ ${_plugin__forwarding} == "yes" && -n "$SSH_AUTH_SOCK" ]]; then if [[ ${_plugin__forwarding} == "yes" && -n "$SSH_AUTH_SOCK" ]]; then
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment