同一主机的多个 SSH 私钥

Sen*_*cha 13 ubuntu ssh github

如何为同一主机存储 2 个不同的 SSH 私钥?我已经尝试在 /etc/ssh/ssh_config 中为同一主机使用不同的键输入 2 个条目,并且我还尝试将两个键放在同一个文件中并从一个主机设置中引用它,但是两者都不起作用。

更多细节:我正在运行 Ubuntu 服务器 (12.04),我想通过 SSH 连接到 GitHub 以下载我的项目的最新源代码。有多个项目在同一台服务器上运行,每个项目都有一个 GitHub 存储库,其中包含自己独特的部署密钥对。所以主机总是相同的 ( github.com) 但密钥需要不同,具体取决于我使用的存储库。

/etc/ssh/ssh_config我尝试过的不同版本:

Host github.com
    IdentityFile /etc/ssh/my_project_1_github_deploy_key
    StrictHostKeyChecking no
Host github.com
    IdentityFile /etc/ssh/my_project_2_github_deploy_key
    StrictHostKeyChecking no
Run Code Online (Sandbox Code Playgroud)

这两个键都在同一个文件中:

Host github.com
    IdentityFile /etc/ssh/my_project_github_deploy_keys
    StrictHostKeyChecking no
Run Code Online (Sandbox Code Playgroud)

我也没有运气。任何帮助将不胜感激!

fak*_*ker 7

我会这样做:

Host project_1
    HostName github.com
    IdentityFile /etc/ssh/my_project_1_github_deploy_key

Host project_2
    HostName github.com
    IdentityFile /etc/ssh/my_project_2_github_deploy_key
Run Code Online (Sandbox Code Playgroud)

然后使用 project_1 或 project_2 作为主机访问存储库。


cee*_*yoz 7

您可以提供多个身份文件,SSH 将依次尝试这些文件,直到其中一个成功或全部失败。

Host github.com
    IdentityFile /etc/ssh/my_project_1_github_deploy_key
    IdentityFile /etc/ssh/my_project_2_github_deploy_key
    StrictHostKeyChecking no
Run Code Online (Sandbox Code Playgroud)

  • MaxAuthTries 不能在服务器端设置得太低(默认值为 6,因此当您到达 my_project_6 时可能会出现问题)。 (2认同)