From e5ceb22b3fc252f16e786565de25b77ed7a53861 Mon Sep 17 00:00:00 2001 From: MatToufoutu Date: Mon, 27 Sep 2010 23:49:20 +0200 Subject: [PATCH] added code to the ssh-agent plugin (last commit was an empty file...) --- plugins/ssh_agent.plugin.zsh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/plugins/ssh_agent.plugin.zsh b/plugins/ssh_agent.plugin.zsh index e69de29bb..9e95b0f9a 100644 --- a/plugins/ssh_agent.plugin.zsh +++ b/plugins/ssh_agent.plugin.zsh @@ -0,0 +1,34 @@ +# Load ssh-agent/keychain (taken from asyd configuration, available at http://asyd.net/home/zsh ) + +function ssh_key_manage() { + if [[ -x $(which keychain) ]] && [ -r ~/.ssh/id_?sa ]; then + # run keychain + keychain --nogui ~/.ssh/id_?sa + [[ -r ~/.ssh-agent-`hostname` ]] && source ~/.ssh-agent-`hostname` + [[ -r ~/.keychain/`hostname`-sh ]] && source ~/.keychain/`hostname`-sh + else + if [ -x $(which ssh-agent) -a -f $HOME/.ssh/id_?sa ]; then + if [[ -r $HOME/.ssh/agent-pid ]]; then + if [[ -d /proc/$(< $HOME/.ssh/agent-pid) ]]; then + source $HOME/.ssh/agent + else + ssh-agent -s > $HOME/.ssh/agent + source $HOME/.ssh/agent + echo $SSH_AGENT_PID > $HOME/.ssh/agent-pid + ssh-add $HOME/.ssh/id_?sa + fi + else + ssh-agent -s > $HOME/.ssh/agent + source $HOME/.ssh/agent + echo $SSH_AGENT_PID > $HOME/.ssh/agent-pid + ssh-add $HOME/.ssh/id_?sa + fi + fi + fi + +} + +if [[ "$USER" != "root" ]]; then + ssh_key_manage +fi +