4

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

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

我尝试过:

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

  2. 创建~/.ssh/configssh 配置文件,内容如下:

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

第二个也不行。

我有什么问题?ssh-add我应该在每次启动时使用一个简单的 bash 脚本吗?

提前致谢。

4

2 回答 2

18

我知道这个问题很老,但我在任何相关问题中都找不到(恕我直言)正确答案。

不要在任何 shell 启动脚本中添加任何内容,这是不必要的黑客行为。

相反,添加

AddKeysToAgent yes

到你的 .ssh/config

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

于 2016-10-30T20:35:42.450 回答
1

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

于 2013-02-27T16:33:48.880 回答