有没有办法可以防止某个 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