使 SSH_AUTH_SOCK 每次都是同一个文件

使 SSH_AUTH_SOCK 每次都是同一个文件

我需要能够让 ssh-agent 每次登录时都对其套接字使用相同的文件。当前,它使用临时文件夹中的随机文件,这会给 vagrant 中的 systemd 服务带来问题。

我们运行一个命令来创建一个 env 文件,该文件定义了 systemd 使用的套接字文件位置,但它在每次登录时都会不断改变位置,因此在 vagrant provision 之后,写入 env 文件的位置已经更改,并且不再有效。

有什么方法可以强制它始终保持这种/etc/ssh/ssh_auth_socket状态吗?

答案1

不可以。默认情况下这是不可能的ssh-agent。它还会创建文件,$TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>如手册页中所述。这是为了确保套接字安全(只有您的用户才能访问)。

但是您可以使用gnome-keyring。它们在中创建套接字/run/user/1000/keyring/ssh,因此它处于安全的地方并使用相同的协议(在 Gnome 桌面中很常见)。

你需要它做什么?如果你有变量中的路径,你可以简单地创建.bashrc从“已知”位置到真实位置的符号链接。

相关内容