我有一个公共私有ssh密钥对(由ssh-keygen
生成,没有密码),我将其用于我的bitbucket帐户,特别是使用mercurial存储库。
通常我使用ssh-add ~/.ssh/id_rsa
手动添加家庭工作电脑中的私钥。我正在寻找一种方法在每次启动时自动执行此操作。有很多教程,但我仍有一些问题。
我尝试过:
在我的ssh = ssh -i ~/.ssh/id_rsa -C
mercurial设置文件中添加第~/.hgrc
行。这个不起作用。
使用以下内容创建~/.ssh/config
ssh配置文件:
Host bitbucket-ssh
Hostname ssh://hg@bitbucket.org/...
IdentityFile ~/.ssh/id_rsa
第二个也不起作用。
我错了什么?我应该在每次启动时使用运行ssh-add
的简单bash脚本吗?
提前致谢。
答案 0 :(得分:9)
我知道这个问题已经过时了,但我无法在任何相关问题中找到(imho)正确答案。
不要向任何shell启动脚本添加任何内容,这是不必要的hackery。
相反,添加
AddKeysToAgent yes
到你的.ssh / config
像这样,ssh-add会在您第一次进入另一个框时自动运行。您只需在从ssh-agent到期或重新启动后重新输入密钥。
答案 1 :(得分:1)
如果ssh-add ~/.ssh/id_rsa
在您从命令行调用时解决了您的问题,只需将其添加到.bash_profile
(或等效,如果您不使用bash)并完成它。它会在您登录时运行。