在 screen/tmux 中设置 SSH_AUTH_SOCK 时要连接到哪个 ssh-agent?

在 screen/tmux 中设置 SSH_AUTH_SOCK 时要连接到哪个 ssh-agent?

我正在使用以下行的变体:

export SSH_AUTH_SOCK=$(find /tmp/ssh-* -name agent.\* -uid $(id -u)|head -n 1)

在 Github 上找到。这样,我应该能够使用远程系统上的转发代理连接,即使从内部screentmux。但是,如果我与远程计算机建立两个单独的 SSH 连接,并且它们都运行单独的 实例,该怎么办ssh-agent

问题可以归结为:

  1. ssh-agent我是否应该首先避免启动另一个实例?
  2. 如果上一点的答案是否定的,我该如何选择现存的假设此刻有多个正在运行的套接字,那么应该使用哪个套接字进行连接?
  3. 附加问题:是否存在类似陈旧套接字的情况?即,当我使用上述命令查找套接字时find,我是否会得到两个替代方案,其中一个已经损坏/陈旧?或者当拥有套接字的进程死亡时,套接字是否会自动清理?事实证明可能存在陈旧套接字。刚刚遇到了这个问题。

答案1

ssh-agent首先,你应该避免启动多个进程。你可以使用类似命令pgrep -u <your_username> ssh-agent来检测进程的 PID ssh-agent(或缺少 PID)。

相关内容