我有一个带密码的私钥
我有两台电脑运行 Ubuntu 14.04
第一次我使用它添加密钥,
ssh-add ~/.ssh/id_rsa
它要求我输入密码,然后它就被永久添加了。另一方面,当我使用它添加密钥时,
ssh-add ~/.ssh/id_rsa
它会询问我密码并暂时添加它(它将在下次重新启动时被删除)。
但是所有其他没有密码的 ssh 密钥都会自动添加。
我已经尝试过这里解释的解决方案:https://stackoverflow.com/questions/3466626/add-private-key-permanently-with-ssh-add-on-ubuntu
但它不起作用。我真的不明白它怎么会起作用(尽管有积极的反馈)。
我不明白如何在 SSH 配置文件中将我们的 SSH 密钥定义为“IdentityFile”使其自动添加带有密码的 SSH 密钥。这意味着当我执行 ssh-add ~/.ssh/id_rsa 时,系统会将密码存储在某处,但只有当我在配置中添加“IdentityFile”时才会使用它。而对于没有密码的 ssh 密钥,它不需要任何“IdentityFile”。
有人知道 ssh-add 如何实现这一点吗?ssh-add 的行为怎么会如此不确定?
答案1
无法永久添加带有密码的密钥。加密密钥存储在 的内存中ssh-agent
,重启后不会保留。
默认位置中的密钥或(无密码)中提到的密钥~/.ssh/config
无需添加到代理。系统ssh
会自动拾取它们。
答案2
我搞清楚了问题所在。似乎是 gnome-keyring 和 seahorse 将它添加到了 ssh-agent 中
和seahorse 需要公钥 (.pub) 位于 .ssh 中(在私人账户旁边)以便自动添加