tmux 启动和 ssh-agent 转发问题

tmux 启动和 ssh-agent 转发问题

我添加了以下几行(摘自这里)到我的 .bashrc 以在登录时自动启动 tmux 会话:

if [ "$PS1" != "" -a "${STARTED_TMUX:-x}" = x -a "${SSH_TTY:-x}" != x ]
then
        STARTED_TMUX=1; export STARTED_TMUX
        sleep 1
        ( (tmux has-session -t remote && tmux attach-session -t remote) || (tmux new-session -s remote) ) && exit 0
        echo "tmux failed to start"
fi

但是,这似乎会破坏后续登录时的 ssh 代理转发。有没有解决的办法?

答案1

您可以使用此模式来解决您的问题:https://superuser.com/questions/180148/how-do-you-get-screen-to-automatically-connect-to-the-current-ssh-agent-when-re

这允许您动态更新 SSH 代理连接以反映每个连接;我认为它使用屏幕,但 tmux 应该是非常相同的模式。

原理是使用 SSH 代理套接字的符号链接,该符号链接可以在 tmux 内更改 - 然后在新的 SSH 会话中连接时更新该符号链接。

相关内容