Compare commits

..

2 Commits

Author SHA1 Message Date
Daniel Perez
f10d957753 Merge pull request #20 from scarvalhojr/master
In an SSH session check forwarded agent first
2024-10-20 21:23:29 +01:00
Sergio de Carvalho
25230a241f In an SSH session check forwarded agent first
When in an SSH session, try to connect to a forwarded agent first. If
that fails, only then check if an SSH agent is already running on the
machine.

This fixes a situation where a .ssh/environment file left behind from
a dead agent is checked first, ignoring the forwarded agent and
starting a new agent on the machine.
2022-09-27 21:46:49 +01:00
3 changed files with 12 additions and 7 deletions

View File

@@ -24,4 +24,4 @@ fisher install danhper/fish-ssh-agent
### Manually
Copy `functions` and `conf.d` to your `$__fish_config_dir` directory by executing `./install.fish`. That's all.
Copy `functions` and `conf.d` to your `$__fish_config_dir` directory. That's all.

View File

@@ -1,9 +1,18 @@
function __ssh_agent_is_started -d "check if ssh agent is already started"
if begin; test -f $SSH_ENV; and test -z "$SSH_AGENT_PID"; end
if test -n "$SSH_CONNECTION"
# This is an SSH session
ssh-add -l > /dev/null 2>&1
if test $status -eq 0 -o $status -eq 1
# An SSH agent was forwarded
return 0
end
end
if begin; test -f "$SSH_ENV"; and test -z "$SSH_AGENT_PID"; end
source $SSH_ENV > /dev/null
end
if begin; test -z "$SSH_AGENT_PID"; and test -z "$SSH_CONNECTION"; end
if test -z "$SSH_AGENT_PID"
return 1
end

View File

@@ -1,4 +0,0 @@
#! /bin/env fish
set curr_dir (dirname (status --current-filename))
cp -r "$curr_dir"/functions "$__fish_config_dir"
cp -r "$curr_dir"/conf.d "$__fish_config_dir"