是否可以为新的 tmux 会话生成 ssh-agent?

sts*_*uad 5 ssh ssh-agent tmux

我已经看到很多黑客从 tmux(和屏幕)会话中重新建立与 GUI 会话的 SSH 代理的联系。我想知道是否有可能与 GUI 分离并产生一个 ssh-agent 纯粹用于给定的 tmux 会话?代理本身是否必须“用完”其中一个 tmux 窗口以避免被杀死,或者是否有可能在后台生成一个只要会话处于活动状态就持续存在的窗口?

sts*_*uad 3

好的,我已经做了一些更多的挖掘,当连接终端时,我应该能够轻松地连接到 SSH_AGENT 周围的任何内容。tmux 已经提供了关键配置“更新环境”,但是缺少的部分是现有的 shell 没有神奇地更新。然而 tmux 确实跟踪更新的环境变量,因此更新脚本比屏幕要简单得多:


# Sync the environment of an existing shell
#
#  tmux already updates the environment according to
#  the update-environment settings in the config. However
#  for existing shells you need to sync from from tmux's view
#  of the world.
function tmux_sync_env
{
    external_env=`tmux showenv | grep -v "^-"`
    export ${external_env}
}
Run Code Online (Sandbox Code Playgroud)

从这次提交