ssh-add,自动添加私钥

时间:2013-02-26 22:25:07

标签: linux mercurial ssh

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

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

我尝试过:

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

  2. 使用以下内容创建~/.ssh/config ssh配置文件:

    Host bitbucket-ssh
        Hostname ssh://hg@bitbucket.org/...
        IdentityFile ~/.ssh/id_rsa
    
  3. 第二个也不起作用。

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

    提前致谢。

2 个答案:

答案 0 :(得分:9)

我知道这个问题已经过时了,但我无法在任何相关问题中找到(imho)正确答案。

不要向任何shell启动脚本添加任何内容,这是不必要的hackery。

相反,添加

AddKeysToAgent yes

到你的.ssh / config

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

答案 1 :(得分:1)

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