ssh-add,自动添加私钥

ean*_*ang 2 linux ssh mercurial

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

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

我尝试过:

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

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

    Host bitbucket-ssh
        Hostname ssh://hg@bitbucket.org/...
        IdentityFile ~/.ssh/id_rsa
    
    Run Code Online (Sandbox Code Playgroud)

第二个也不起作用.

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

提前致谢.

Tob*_*oby 9

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

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

相反,添加

AddKeysToAgent yes
Run Code Online (Sandbox Code Playgroud)

到你的.ssh/config

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