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