我有一个用密码保护的私钥,可以通过SSH访问服务器。
我有2台linux (ubuntu 10.04)机器,ssh-add命令的行为在它们中都是不同的。
在一台机器上,一旦我使用“ssh-add .ssh/identity”并输入密码,密钥就被永久添加了,即每次我关闭计算机并再次登录时,密钥就已经添加了。
在另一个系统中,我必须在每次登录时添加密钥。
在我的记忆中,我对两个都做了同样的事情。唯一的区别是,密钥是在永久添加的密钥上创建的。
有人知道如何将它永久地添加到另一台机器吗?
我有一个用密码保护的私钥,可以通过SSH访问服务器。
我有2台linux (ubuntu 10.04)机器,ssh-add命令的行为在它们中都是不同的。
在一台机器上,一旦我使用“ssh-add .ssh/identity”并输入密码,密钥就被永久添加了,即每次我关闭计算机并再次登录时,密钥就已经添加了。
在另一个系统中,我必须在每次登录时添加密钥。
在我的记忆中,我对两个都做了同样的事情。唯一的区别是,密钥是在永久添加的密钥上创建的。
有人知道如何将它永久地添加到另一台机器吗?
当前回答
在Mac OS X Lion系统下,这并没有为我解决同样的问题。最后我补充道:
ssh-add ~/.ssh/id_rsa &>/dev/null
到我的.zshrc(但.profile也可以),这似乎已经修复了它。
(建议地址:http://geek.michaelgrace.org/2011/09/permanently-add-ssh-key-ssh-add/)
其他回答
只需要添加钥匙链,就像Ubuntu快速提示中提到的那样 https://help.ubuntu.com/community/QuickTips
What
不需要经常启动ssh-agent和ssh-add,可以使用keychain来管理ssh密钥。要安装keychain,只需点击这里,或使用Synaptic来完成工作或从命令行apt-get。
命令行
安装文件的另一种方法是打开终端(Application->Accessories-> terminal)并输入:
sudo apt-get install keychain
编辑文件
然后,您应该将以下行添加到${HOME}/。Bashrc或/etc/bash.bashrc:
keychain id_rsa id_dsa
. ~/.keychain/`uname -n`-sh
非常简单的^_^两步
1.Yum安装keychain
2.将下面的代码添加到.bash_profile
/usr/bin/keychain $HOME/.ssh/id_dsa
source $HOME/.keychain/$HOSTNAME-sh
在Mac OS X Lion系统下,这并没有为我解决同样的问题。最后我补充道:
ssh-add ~/.ssh/id_rsa &>/dev/null
到我的.zshrc(但.profile也可以),这似乎已经修复了它。
(建议地址:http://geek.michaelgrace.org/2011/09/permanently-add-ssh-key-ssh-add/)
我尝试了@Aaron的解决方案,但对我来说不太管用,因为每次我在终端上打开一个新标签时,它都会重新添加我的键。所以我稍微修改了一下(注意,我的大多数键也有密码保护,所以我不能只是将输出发送到/dev/null):
added_keys=`ssh-add -l`
if [ ! $(echo $added_keys | grep -o -e my_key) ]; then
ssh-add "$HOME/.ssh/my_key"
fi
它所做的是检查ssh-add -l的输出(列出已添加的所有键),如果没有找到它,则使用ssh-add添加它。
现在我第一次打开我的终端,我被要求提供我的私钥密码,直到我重新启动(或注销-我没有检查)我的电脑。
由于我有一堆键,我将ssh-add -l的输出存储在一个变量中以提高性能(至少我猜它提高了性能:))
PS:我在linux上,这段代码到我的~/。bashrc文件-如果你在Mac OS X上,那么我假设你应该把它添加到.zshrc或.profile中
编辑: 正如@Aaron在评论中指出的,.zshrc文件是从zsh shell中使用的-所以如果你不使用它(如果你不确定,那么最有可能的是,你正在使用bash),这段代码应该到你的.bashrc文件中。
我在Mac OSX(10.10)上通过使用-K选项ssh-add解决了这个问题:
ssh-add -K ~/.ssh/your_private_key
对于macOS 10.12及以上版本,您需要额外编辑您的ssh配置,如下所示:https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain