fish greeting with ssh-agent magic

Signed-off-by: Georg <georg@lysergic.dev>
This commit is contained in:
Georg Pfuetzenreuter 2021-12-02 22:29:26 +01:00
parent 6649ec5e45
commit 209f09dc5c
5 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,3 @@
function fish_greeting
echo "Welcome!"
end

View File

@ -0,0 +1,16 @@
# original from https://github.com/danhper/fish-ssh-agent/
# adapted to include ssh-add check
function sshagent
if test -z "$SSH_ENV"
set -xg SSH_ENV $HOME/.ssh/environment
end
if not __ssh_agent_is_started
__ssh_agent_start
end
if not __ssh_agent_is_key_added
echo "You need to authenticate."
ssh-add -q ~/.ssh/id_lysergic
end
end

View File

@ -0,0 +1,9 @@
# custom
function __ssh_agent_is_key_added -d "checks if fingerprint is already present"
set SSH_FP (ssh-keygen -lf ~/.ssh/id_lysergic-cert.pub | awk '{print $2}')
if ! test -z "$SSH_FP"
and ssh-add -l | grep -q "$SSH_FP"
else
return 1
end
end

View File

@ -0,0 +1,15 @@
# from https://github.com/danhper/fish-ssh-agent/
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
source $SSH_ENV > /dev/null
end
if begin; test -z "$SSH_AGENT_PID"; and test -z "$SSH_CONNECTION"; end
return 1
end
ssh-add -l > /dev/null 2>&1
if test $status -eq 2
return 1
end
end

View File

@ -0,0 +1,6 @@
# from https://github.com/danhper/fish-ssh-agent/
function __ssh_agent_start -d "start a new ssh agent"
ssh-agent -c | sed 's/^echo/#echo/' > $SSH_ENV
chmod 600 $SSH_ENV
source $SSH_ENV > /dev/null
end