【问题标题】:ssh-add, add a private key automaticallyssh-add,自动添加私钥
【发布时间】:2013-02-12 13:57:17
【问题描述】:

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

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

我试过了:

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

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

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

第二个也不行。

我有什么问题?我是否应该在每次启动时使用运行 ssh-add 的简单 bash 脚本?

提前致谢。

【问题讨论】:

  • 您是否确保~/.ssh/ 不是群组或世界可读的?您是否将-v 传递给ssh 以了解发生了什么?
  • @BasileStarynkevitch 是的,~/.ssh/rwx------。我没有通过 -v 选项,我现在就去做。
  • 您的~/.ssh/ 中的文件,尤其是~/.ssh/id_rsa 中的文件应该只有您(而不是群组或其他人)可以读取

标签: linux mercurial ssh


【解决方案1】:

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

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

相反,添加

AddKeysToAgent yes

到你的 .ssh/config

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2021-01-24
      • 2023-03-21
      • 1970-01-01
      • 2016-06-15
      • 2014-10-21
      • 2012-11-26
      • 1970-01-01
      • 2020-06-21
      • 1970-01-01
      相关资源
      最近更新 更多