防止 SSH 密钥自动添加到代理

防止 SSH 密钥自动添加到代理

有没有办法可以防止某个 SSH 密钥在所有其他 SSH 密钥都自动添加到 SSH 代理中?

例如,假设我的所有密钥都受密码保护。我希望我的密钥(A)自动添加到 SSH 代理,但 key 不会(B)。这意味着我(B)每次使用它时都必须输入密码,而且只能在(A)第一次使用时输入。

更新:我正在使用 Fedora 33 和 GNOME 3.38

答案1

如果您在不带任何参数的情况下调用 openssh 中的 ssh-agent,它将尝试添加所有标准路径。要添加特定密钥,您必须使用特定参数调用 ssh-add 命令,例如:

ssh-add /home/jaroslav/.ssh/keys/employer-jr.rsa \
   /home/jaroslav/.ssh/keys/[email protected] \
   /home/jaroslav/.ssh/keys/spectre-2018.rsa \
   /home/jaroslav/.ssh/keys/rusty-2020-jaro-generic.ed25519

标准路径包括

~/.ssh/id_rsa
~/.ssh/id_dsa
~/.ssh/id_ed25519

...等等。

我不知道你的发行版上的 gnome 如何调用代理,对我来说,最好的方法是从 shell 的配置文件(例如 ~/.bash_profile)启动 ssh-agent 和 ssh-add。

我已经在一定程度上成功地实现了这个工作流程的自动化,你可以通过阅读这些脚本来参考我的发现:

https://raw.githubusercontent.com/tox2ik/agent-ssh/master/.agent-ssh

https://github.com/tox2ik/go-smux

相关内容