mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-22 04:51:12 +02:00
* Update the README.md file * Add key listing logic (auto-truncating if too long) * Some output cosmetics
59 lines
1.4 KiB
Bash
59 lines
1.4 KiB
Bash
|
|
|
|
local _libname='opensc-pkcs11.so'
|
|
local _sshfiledir="/run/user/$UID"
|
|
local _sshfile='ssh_agent'
|
|
local _sshpath=''
|
|
local _ellipsis='......'
|
|
|
|
if [[ -z $OPENSC ]]; then
|
|
for f in $(locate "/${_libname}"); do
|
|
[[ -L $f ]] && continue # Is a sublink
|
|
OPENSC="$f"
|
|
break
|
|
done
|
|
fi
|
|
export OPENSC
|
|
|
|
if [[ -w $_sshfiledir ]]; then
|
|
_sshpath="$_sshfiledir/$_sshfile"
|
|
else
|
|
_sshpath="/tmp/$_sshfile"
|
|
fi
|
|
|
|
|
|
alias yubi-init="pkill ssh-agent; pkill gpg-agent; ssh-agent -s > $_sshpath; source $_sshpath"
|
|
alias yubi-insert="ssh-add -s $OPENSC"
|
|
alias yubi-eject="ssh-add -e $OPENSC"
|
|
|
|
if [[ -r $_sshpath ]]; then
|
|
echo -n "Common SSH Agent detected. "
|
|
source $_sshpath
|
|
else
|
|
echo -n "Common SSH Agent not detected. "
|
|
case "${(U)YUBI_SSHAGENT_AUTOINIT}" in
|
|
1|Y|YES)
|
|
echo -n "Auto-initializing... "
|
|
yubi-init
|
|
echo "done."
|
|
;;
|
|
*)
|
|
echo "Autoinit not enabled. Use 'yubi-init' to manually init."
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
case "${(U)YUBI_SHOWKEYS}" in
|
|
1|Y|YES)
|
|
ssh-add -L | while read ln; do
|
|
if (( ${#ln} >= COLUMNS )); then
|
|
newlen=$(( COLUMNS - ${#_ellipsis} - 1 ))
|
|
halflen=$(( newlen / 2 ))
|
|
ln="${ln:0:$halflen}${_ellipsis}${ln: -$halflen}"
|
|
fi
|
|
echo "$ln"
|
|
done
|
|
;;
|
|
esac
|
|
|
|
# vim: set ft=zsh ts=4 sts=4 et ai :
|