keychain/ssh-agent仅加载一个密钥

keychain/ssh-agent仅加载一个密钥

我的 ~/.profile 包含以下内容:

SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
 eval `$SSHAGENT $SSHAGENTARGS`
 eval `keychain --eval id_rsa git-key`
fi

正如预期的那样,登录时系统会提示我输入密码,并且 ssh-agent 已启动。但是,它最终只拥有密钥 id_rsa(通过“ssh-add -l”验证)。它不会将 git-key 加载到 ssh-agent 中,即使它和 id_rsa 具有相同的密码。如果我运行:

eval `keychain --eval id_rsa git-key`

从命令行 git-key 也被加载,并且 ssh-agent 现在拥有两个密钥。

我的问题是,为什么登录时仅加载两个键中的一个?

答案1

哎呀!我使用 git 来保持我的 .profile 和其他配置在多台机器之间同步。我最近的 git merge 并没有按照我预期的方式合并,所以我有两行不同的代码调用 keychain,但只有一行被执行了。

相关内容