ssh-add,自动添加一个私钥

我有一个公私密的ssh密钥对(由ssh-keygen生成, 没有密码),我使用它与我的bitbucket帐户,特别是与一个mercurial存储库。

通常我使用ssh-add ~/.ssh/id_rsa手动在我的家用电脑上ssh-add ~/.ssh/id_rsa 。 我正在寻找一种方法来在每次启动时自动执行此操作。 有很多教程,但我仍然有一些问题。

我曾尝试过:

  1. 在我的~/.hgrc mercurial设置文件中添加ssh = ssh -i ~/.ssh/id_rsa -C 。 这一个不行。

  2. 使用以下内容创build~/.ssh/config sshconfiguration文件:

     Host bitbucket-ssh Hostname ssh://hg@bitbucket.org/... IdentityFile ~/.ssh/id_rsa 

第二个也不行。

我错了什么? 我应该在每次启动时使用运行ssh-add的简单bash脚本吗?

提前致谢。

我知道这个问题很老,但是在任何相关的问题中,我找不到(imho)的正确答案。

不要添加任何东西到你的任何shell启动脚本,这是不必要的hackery。

相反,添加

 AddKeysToAgent yes 

到你的.ssh / config

像这样,ssh-add在第一次ssh到另一个盒子时自动运行。 您只需从ssh-agent过期或重新启动后重新输入密钥。

如果ssh-add ~/.ssh/id_rsa调用ssh-add ~/.ssh/id_rsa解决了你的问题,只需将它添加到你的.bash_profile (或者等价的,如果你不使用bash)并完成它。 它会在您登录时运行。