同一主机的多个 SSH 私钥

同一主机的多个 SSH 私钥

如何为同一台主机存储 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

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

Host github.com
    IdentityFile /etc/ssh/my_project_github_deploy_keys
    StrictHostKeyChecking no

我都没成功过。任何帮助我都会非常感激!

答案1

我会这样做:

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

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

答案2

您可以提供多个身份文件,SSH 将按顺序尝试,直到一个成功或全部失败。

Host github.com
    IdentityFile /etc/ssh/my_project_1_github_deploy_key
    IdentityFile /etc/ssh/my_project_2_github_deploy_key
    StrictHostKeyChecking no

相关内容