mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-22 04:51:12 +02:00
yubikey-plugin Enhancement
* Update the README.md file * Add key listing logic (auto-truncating if too long) * Some output cosmetics
This commit is contained in:
parent
5868420b56
commit
076b4f42d9
2 changed files with 29 additions and 4 deletions
|
|
@ -9,3 +9,14 @@ This plugin will first try to detect location of the 'opensc-pkcs11.so' library,
|
||||||
Afterwards, it will try to detect if a 'shared ssh-agent' is already running, through a file in /run (preferred, but must be pre-created with the proper permissions), or in /tmp (fallback).
|
Afterwards, it will try to detect if a 'shared ssh-agent' is already running, through a file in /run (preferred, but must be pre-created with the proper permissions), or in /tmp (fallback).
|
||||||
|
|
||||||
Then it will define several aliases.
|
Then it will define several aliases.
|
||||||
|
|
||||||
|
## Optional Parameters
|
||||||
|
|
||||||
|
These parameters can be set before source-ing oh-my-zsh to customize the settings:
|
||||||
|
|
||||||
|
`YUBI_SHOWKEYS`
|
||||||
|
> If set to '1' or 'y' or 'yes', will list the keys contained in the 'shared ssh-agent'
|
||||||
|
|
||||||
|
`YUBI_SSHAGENT_AUTOINIT`
|
||||||
|
> If set to '1' or 'y' or 'yes', will automatically initialize the 'shared ssh-agent' if one is not found
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ local _libname='opensc-pkcs11.so'
|
||||||
local _sshfiledir="/run/user/$UID"
|
local _sshfiledir="/run/user/$UID"
|
||||||
local _sshfile='ssh_agent'
|
local _sshfile='ssh_agent'
|
||||||
local _sshpath=''
|
local _sshpath=''
|
||||||
|
local _ellipsis='......'
|
||||||
|
|
||||||
if [[ -z $OPENSC ]]; then
|
if [[ -z $OPENSC ]]; then
|
||||||
for f in $(locate "/${_libname}"); do
|
for f in $(locate "/${_libname}"); do
|
||||||
|
|
@ -26,20 +27,33 @@ alias yubi-insert="ssh-add -s $OPENSC"
|
||||||
alias yubi-eject="ssh-add -e $OPENSC"
|
alias yubi-eject="ssh-add -e $OPENSC"
|
||||||
|
|
||||||
if [[ -r $_sshpath ]]; then
|
if [[ -r $_sshpath ]]; then
|
||||||
echo "Common SSH Agent detected."
|
echo -n "Common SSH Agent detected. "
|
||||||
source $_sshpath
|
source $_sshpath
|
||||||
else
|
else
|
||||||
echo -n "Common SSH Agent not detected."
|
echo -n "Common SSH Agent not detected. "
|
||||||
case "${(U)YUBI_SSHAGENT_AUTOINIT}" in
|
case "${(U)YUBI_SSHAGENT_AUTOINIT}" in
|
||||||
1|Y|YES)
|
1|Y|YES)
|
||||||
echo -n " Auto-initializing... "
|
echo -n "Auto-initializing... "
|
||||||
yubi-init
|
yubi-init
|
||||||
echo "done."
|
echo "done."
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo " Autoinit not enabled. Use 'yubi-init' to manually init."
|
echo "Autoinit not enabled. Use 'yubi-init' to manually init."
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
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 :
|
# vim: set ft=zsh ts=4 sts=4 et ai :
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue