Isso é exatamente o que o ssh-agent
faz.
where xyz checks if my key is decrypted, and if it isn't - asks for my passphrase
Você não precisa de nenhum xyz
. Basta iniciar ssh-agent
no início de sua sessão (por exemplo, em ~/.bashrc
):
[ -z "$SSH_AUTH_SOCK" ] && eval $(ssh-agent -t 5m)
Configure seu cliente ssh
para adicionar as chaves quando elas forem usadas pela primeira vez, definindo
AddKeysToAgent yes
no seu ~/.ssh/config
.
and then after N minutes of not invoking xyz it forgets the decrypted value.
Isso é o que a opção -t
do ssh-agent
faz. Define o tempo limite padrão para as chaves adicionadas (no exemplo acima de 5 minutos).