Add ssh-sign function
This commit is contained in:
parent
cac08403a8
commit
151f91fb24
|
@ -1 +1,2 @@
|
|||
[[ -d "${ZDOTDIR}"/functions ]] && fpath+=( "${ZDOTDIR}"/functions )
|
||||
[[ -d "${ZDOTDIR}"/completions ]] && fpath+=( "${ZDOTDIR}"/completions )
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
#compdef ssh-sign
|
||||
|
||||
_arguments '-f[keyfile]:filename:_files' '-n[namespace]:namespace:_ssh-sign_namespaces' '*:file:_files'
|
||||
|
||||
function _ssh-sign_namespaces()
|
||||
{
|
||||
local -a namespaces=(file email git "@$(dnsdomainname)")
|
||||
_values "namespace" ${namespaces}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env zsh
|
||||
# Sign files with SSH
|
||||
|
||||
setopt LOCAL_OPTIONS ERR_RETURN NO_UNSET PIPE_FAIL
|
||||
|
||||
autoload -U die
|
||||
[[ ${ARGC} -eq 0 ]] && die 1 "Usage: ${0} [-f KEYFILE] [-n NAMESPACE] <file> …"
|
||||
|
||||
zmodload zsh/zutil
|
||||
local -a keyfile=(-f ~/.ssh/id_ed25519)
|
||||
local -a namespace=(-n file)
|
||||
zparseopts -D -K -- f:=keyfile n:=namespace
|
||||
|
||||
ssh-keygen -Y sign -f ${keyfile[2]} -n ${namespace[2]} ${@}
|
Loading…
Reference in New Issue