Limit ssh key lifetime to 12h in SSH sessions
This commit is contained in:
+13
-1
@@ -7,6 +7,13 @@ function _log() {
|
||||
_SSH_AGENT_NO_KEYS=1
|
||||
_SSH_AGENT_NOT_RUNNING=2
|
||||
|
||||
SSH_KEY_TIMEOUT_HOURS=${SSH_KEY_TIMEOUT_HOURS:-12}
|
||||
SSH_KEY_TIMEOUT_MINUTES=$((SSH_KEY_TIMEOUT_HOURS * 60))
|
||||
|
||||
function _should_limit_key_lifetime() {
|
||||
! is_wsl && is_ssh_session
|
||||
}
|
||||
|
||||
for key in id_ecdsa id_rsa; do
|
||||
key_filename="$HOME/.ssh/$key"
|
||||
|
||||
@@ -43,7 +50,12 @@ for key in id_ecdsa id_rsa; do
|
||||
ssh-add "$key_filename"
|
||||
fi
|
||||
else
|
||||
eval "$(keychain --eval --quiet --agents ssh $key)"
|
||||
keychain_args=()
|
||||
if _should_limit_key_lifetime; then
|
||||
_log "Limiting key lifetime to $SSH_KEY_TIMEOUT_HOURS hours"
|
||||
keychain_args=(--timeout "$SSH_KEY_TIMEOUT_MINUTES")
|
||||
fi
|
||||
eval "$(keychain --eval --quiet "${keychain_args[@]}" --agents ssh $key)"
|
||||
fi
|
||||
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user