为 ssh-agent 预定义 unix 套接字路径

为 ssh-agent 预定义 unix 套接字路径

我有一个创建 x-session 的应用程序,我遇到的问题是 ssh-agent。

假设我创建了一个 unix 套接字,然后创建了 x-session(在此会话中启动了 ssh-agent)。所以我的问题是:

是否可以启动 x-session 并将我的套接字路径设置为SSH_AUTH_SOCKssh-agent?

我尝试SSH_AUTH_SOCK在 x-session 创建命令中设置套接字路径,手动检查,新init进程包含我的套接字路径。但出于某种原因,当我启动终端(在此会话内)时,echo $SSH_AUTH_SOCK会显示其他路径。似乎其他进程正在覆盖它。

$SSH_AUTH_SOCK在启动 x-session 之前有没有什么办法可以进行预定义?

答案1

如果您可以控制xinit启动的 () 脚本,那么您可以根据手册页ssh-agent使用选项覆盖默认套接字路径:-a PATH

     -a bind_address
         Bind the agent to the UNIX-domain socket bind_address.  The default is
         $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>.

相关内容