From f843dc8cfb9713fafe0b99b98d96aa28da8084f5 Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Tue, 28 Feb 2023 10:35:02 +0100 Subject: [PATCH] [ssh-agent] Start ssh-agent automatically and adjust SSH_AUTH_SOCK in tmux bash prompts. --- .bashrc.dotfiles | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.bashrc.dotfiles b/.bashrc.dotfiles index fdb8cd9..378033c 100644 --- a/.bashrc.dotfiles +++ b/.bashrc.dotfiles @@ -11,6 +11,20 @@ case $- in *) return;; esac +# ssh-agent: start automatically unless SSH_AUTH_SOCK is already set by e.g. ssh-agent forwarding +if command -v ssh-agent &> /dev/null && [ ! -S "${SSH_AUTH_SOCK}" ] && [ -z "${TMUX}" ]; then + eval "$(ssh-agent -t 12h)" > /dev/null + trap 'eval "$(ssh-agent -k)" > /dev/null' EXIT +fi +# ssh-agent: adjust SSH_AUTH_SOCK and SSH_AGENT_PID in tmux session bash prompts +if [ -n "${TMUX}" ]; then + function _tmux_update_environment() { + eval "$(tmux show-environment -s SSH_AUTH_SOCK)" + eval "$(tmux show-environment -s SSH_AGENT_PID)" + } + PROMPT_COMMAND="_tmux_update_environment" +fi + # Start tmux by default if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then if tmux ls | grep "default: " > /dev/null; then