2017年8月15日火曜日

tmux で SSH_FORWARD

tmux を使っていると、ssh でauth forward していても、中のSHELLに環境変数がSSH_AUTH_SOCKが伝わらないため、git にアクセスできなかったりして不便。
解決策を検索したら見つかったのでメモ。
したのように.bashrc に書いておく。すると外部からログインした際に、.ssh/.ssh_authsock.txtにSSH_AUTH_SOCKがコピーされる。
function update_forward
{
    if [ -z "$STY" -a -z "$TMUX" ]; then
        echo $SSH_AUTH_SOCK > ~/.ssh/.authsock.txt
    else
        export SSH_AUTH_SOCK=`cat ~/.ssh/.authsock.txt`
    fi                                                 
}                                                      
update_forward
tmux の内部シェルでは、
> update_forward
としてやればSSH_AUTH_SOCKがアップデートされてgit とかにアクセスできるようになる。

0 件のコメント: