キーが保存されているマシンからSSH経由で接続し、2番目のマシンに転送してから、tmux内からキーを使用しようとしています。 tmuxに入ると、転送が「緩む」ように見えます。 tmux内からキーを使用できるように「再度転送」するにはどうすればよいですか?
$ ssh [server] -o ForwardAgent=yes
$ git pull # Succeeds.
$ /bin/bash
$ git pull # Still succeeds, despite new shell.
$ exit
$ tmux attach
$ git pull # Permission denied (publickey)
承認された回答:
既存のtmuxセッションをアタッチしている場合、シェルはログインシェルから環境変数を継承していません。特に、sshエージェントの環境変数を継承しません。
この修正を試してください:
-
このスクリプトを作成し、$ HOME / .ssh / saveagent
に配置します#!/bin/sh SSHVARS="SSH_CLIENT SSH_TTY SSH_AUTH_SOCK SSH_CONNECTION DISPLAY" for var in ${SSHVARS} ; do echo "export $var="$(eval echo '$'$var)"" done 1>$HOME/.ssh/latestagent
-
シェル起動スクリプトに追加します。たとえば、bashを使用する場合:
echo '. ~/.ssh/saveagent' >> ~/.bash_login
-
tmuxをアタッチした後、
. $HOME/.ssh/latestagent