mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08: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:
		
							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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user