ssh-永久添加密钥而不询问密码

ssh-永久添加密钥而不询问密码

我有一个带密码的私钥

我有两台电脑运行 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 中(在私人账户旁边)以便自动添加

相关内容