Estou conectando através do SSH a partir de uma máquina na qual minhas chaves estão armazenadas, encaminhando para uma segunda máquina e, em seguida, tento usá-las no tmux. Eu pareço "perder" o encaminhamento ao entrar no tmux. Como "encaminhar novamente" para que eu possa usar minhas chaves no 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)
Respostas:
Se você estiver anexando uma sessão tmux já existente, o shell não herdará as variáveis de ambiente do seu shell de login. Particularmente, não herdará as variáveis de ambiente do agente ssh.
Tente esta correção :
Crie esse script e coloque-o em $ HOME / .ssh / saveagent
Adicione-o ao seu script de inicialização do shell. Por exemplo, se você usar o bash:
Após conectar o tmux, execute
. $HOME/.ssh/latestagent
Consulte também Como executar um script imediatamente após a conexão via SSH? e Anexe à sessão do tmux e execute um comando
fonte
saveagent
script deve ser:echo "export $var=\"$(eval echo '$'$var)\""
. b - olatestagent
script deve ser chamado com emsource
vez desh
, portanto, definir as variáveis afetará o shell de chamada. c - chamar olatestagent
script automaticamente ao anexar o tmux pode ser feito através do método descrito aqui: unix.stackexchange.com/questions/86925/…A menos que você deseje obter um script que contenha todas as variáveis necessárias em todos os shell gerados em qualquer novo shell gerado pelas mesmas
tmux
sessões do servidor, você provavelmente precisará informartmux
para colocar as variáveis na sessão ou nos ambientes globais com oset-environment
comando Por exemplo, como este (para o bash):lembre-se de adicionar o
-g
sinalizador, se você o quiser em outras sessões, e usá--t <session>
lo se estiver executando-o de foratmux
.fonte
Depois de ler as outras respostas aqui, decidi copiar meu par de chaves público / privado no servidor remoto, para que não precisasse mais me preocupar com o encaminhamento de agentes.
fonte