如何在Ubuntu上使用ssh-add永久添加私钥?

631

我有一把私钥,用密码保护,用于通过SSH访问服务器。

我有两台Linux(Ubuntu 10.04)机器,它们的ssh-add命令行为不同。

在其中一台机器上,一旦我使用“ssh-add .ssh/identity”并输入密码,密钥就会被永久添加,即每次我关闭计算机并再次登录时,密钥已经添加。

在另一台机器上,我必须每次登录时都添加密钥。

据我所记,我在两台机器上都做了同样的事情。唯一的区别是密钥是在被永久添加的那台机器上创建的。

有人知道如何在另一台机器上永久添加密钥吗?


1
代理应该是临时的;但是可能你在其中一台机器的~/.bashrc或其他地方有ssh-add命令。 - mirek
这个命令对我有效:ssh-add --apple-use-keychain ~/.ssh/id_rsa - Vansuita Jr.
这是适用于Ubuntu 22.04.2的解决方案。重新启动后无需密码。`cp key.pub ~/.sshcp key ~/.sshchmod 600 ~/.ssh/key.pubchmod 600 ~/.ssh/key` - oginski
13个回答

4
在Ubuntu 14.04及以上版本中,您甚至都不需要使用控制台:
- 开始“seahorse”或搜索“key”启动该程序 - 在此处创建SSH密钥(或导入一个) - 不需要将密码留空 - 提供了将公钥推送到服务器(或更多服务器)的选项 - 您将得到一个正在运行且已加载该密钥但已锁定的ssh-agent - 使用“ssh”将通过代理拾取身份(即密钥) - 在会话期间首次使用时,将检查密码短语 - 并且您可以选择在登录时自动解锁密钥 - 这意味着登录auth将用于包装密钥的密码短语 - 注意:如果您想转发您的身份(即代理转发),请使用“-A”调用您的“ssh”或使其成为默认设置 - 否则,您将无法在稍后登录到第三台机器时使用该密钥进行身份验证

Ubuntu 22.04 仍在使用 seahorse - sastorsl

4
这对我有效。
ssh-agent /bin/sh
ssh-add /path/to/your/key

3

非常简单 ^_^ 只需两步

1.安装keychain:yum install keychain

2.将以下代码添加到.bash_profile中

/usr/bin/keychain $HOME/.ssh/id_dsa
source $HOME/.keychain/$HOSTNAME-sh

15
Ubuntu没有yum,开个玩笑 ;) - Adam Fowler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接