Move ssh and gpg from aliases to functions

This commit is contained in:
gardouille 2020-10-26 10:22:36 +01:00
parent f6da27428b
commit 59ef4d56d5
Signed by: gardouille
GPG Key ID: E759BAA22501AF32
1 changed files with 25 additions and 5 deletions

30
zshrc
View File

@ -310,11 +310,31 @@ alias ping6="ping6 -c 3"
## JOSM
alias josm="java -jar -Xmx2048M /opt/josm-tested.jar"
## Keychain
# For SSH: If keychain doesn't exist, load it then source the file-sh
alias ssh="[[ ! -f ~/.keychain/$HOST-sh ]] && keychain --agents ssh id_rsa; source ~/.keychain/$HOST-sh; ssh "
# For GPG: If keychain doesn't exist, load it then source the file-sh-gpg
alias gpg="[[ ! -f ~/.keychain/$HOST-sh-gpg ]] && keychain --noask --systemd --agents gpg; source ~/.keychain/$HOST-sh-gpg; gpg "
# Keychain
## For SSH {{{
function ssh() {
## If keychain exists, run ssh from default $PATH as usual
if [ -f ~/.keychain/"${HOST}"-sh ]; then
command -p ssh "${*}"
else ## Otherwise, reload keychain and run ssh
keychain --agents ssh
source ~/.keychain/"${HOST}"-sh
command -p ssh "${*}"
fi
}
## }}}
## For GPG {{{
function gpg() {
## If keychain exists, run gpg from default $PATH as usual
if [ -f ~/.keychain/"${HOST}"-sh-gpg ]; then
command -p gpg ${*}
else ## Otherwise, reload keychain and run gpg
keychain --agents gpg
source ~/.keychain/"${HOST}"-sh-gpg
command -p gpg ${*}
fi
}
## }}}
# ssh
alias sshdev='ssh -o UserKnownHostsFile=/dev/null'