ssh-agent を使えば鍵を転送できるので非常に便利です
しかし tmux と同時に使うと tmux の上で動く shell では古い環境変数を読み込んだままなので環境変数を使う ssh-agent とは非常に相性がよくないです
そこで無理やり tmux の環境変数を消して新しい環境変数を登録し直す邪悪な方法を紹介します
.zshrc
function tmux-session-refresh () {
if [ -n "$TMUX" ]; then
unset $(tmux show-env | sed -n 's/^-//p')
eval export $(tmux show-env | sed -n 's/$/"/; s/=/="/p')
fi
}
これを ~/.zshrc
とかに登録して tmux-session-refresh
を実行します
tmux の中でしか動きません
とても邪悪な方法ですが,大体の場合うまくいくので紹介します