使用我已经运行的 ssh-agent 进程

Seb*_*bMa 6 ssh ssh-agent

我在 tty2 上有一个 bash 会话和一个ssh-agent属于我的进程(相同的用户 ID)来自上一个会话(TTY = ?)

在 tty2 上,ssh-add说: Could not open a connection to your authentication agent.

eval $(ssh-agent)每次登录时都必须启动ssh-agent吗,即使已经有一个进程在运行?但是最后,我将ssh-agent运行许多流程实例:-(

编辑:我想使用我已经在运行的ssh-agent进程。

我找到了一种联系我已经在运行的方法ssh-agent

export SSH_AUTH_SOCK=$(find /tmp/ssh-*/ -user $USER -type s -name "agent.*" 2>/dev/null | head -1)
export SSH_AGENT_PID=$(echo $SSH_AUTH_SOCK | cut -d. -f2)
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否非常安全。

编辑 2:每次我运行此命令时,该命令都会eval $(ssh-agent)启动一个新的ssh-agent进程实例:-(

小智 6

您可以同时评估并保存 ssh-agent 输出,

eval $(ssh-agent | tee agent.env)
Run Code Online (Sandbox Code Playgroud)

然后从其他终端或后续会话,

source agent.env
Run Code Online (Sandbox Code Playgroud)

收紧权限以稍微更安全,

chmod go-rwx agent.env
Run Code Online (Sandbox Code Playgroud)

  • @SebMa 如果恶意者获得 root 访问权限,那么您的 SSH 密钥是最不重要的问题。 (2认同)