fish greeting with ssh-agent magic
Signed-off-by: Georg <georg@lysergic.dev>
This commit is contained in:
parent
6649ec5e45
commit
209f09dc5c
3
scripts/fish/conf.d/greeting.fish
Normal file
3
scripts/fish/conf.d/greeting.fish
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
function fish_greeting
|
||||||
|
echo "Welcome!"
|
||||||
|
end
|
16
scripts/fish/conf.d/sshagent.fish
Normal file
16
scripts/fish/conf.d/sshagent.fish
Normal 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
|
9
scripts/fish/functions/__ssh_agent_is_key_added.fish
Normal file
9
scripts/fish/functions/__ssh_agent_is_key_added.fish
Normal 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
|
15
scripts/fish/functions/__ssh_agent_is_started.fish
Normal file
15
scripts/fish/functions/__ssh_agent_is_started.fish
Normal 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
|
6
scripts/fish/functions/__ssh_agent_start.fish
Normal file
6
scripts/fish/functions/__ssh_agent_start.fish
Normal 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
|
Loading…
Reference in New Issue
Block a user