ssh-在不询问密码的情况下永久添加密钥

vem*_*net 6 ssh ssh-agent 14.04

我有一个带密码的私钥

我有 2 台计算机运行 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 密钥,它不需要任何“身份文件”。

有人知道 ssh-add 是如何工作的吗?ssh-add 行为怎么会如此不确定?

Jak*_*uje 1

无法永久添加带有密码的密钥。加密密钥存储在 的内存中ssh-agent,在重新启动后不会持续存在。

默认位置中的密钥或~/.ssh/config(无密码)中提到的密钥不需要添加到代理中。它将ssh自动拾取它们。


vem*_*net 1

我知道问题出在哪里了。似乎是 gnome-keyring 和 seahorse 将其添加到 ssh-agent

海马需要公钥(.pub)位于.ssh(私有密钥旁边)中才能自动添加它