SSH 配置被 git 客户端忽略
SSH Config is ignored by git client
我与两个不同的 git 存储库交互,它们都是 GitLab 实现。
因为我需要使用不同的用户(和电子邮件)来访问它们,所以我创建了两个 ssh 密钥:比方说 id_rsa_1
和 id_rsa_2
。之后我写了一个 ~/.ssh/config
文件来指定何时应该使用每个 id_rsa 文件。配置文件是:
Host gitlab.host1.com-user1
HostName gitlab.host1.com
User user1
IdentityFile ~/.ssh/id_rsa_1
Host gitlab.host2.com-user2
HostName gitlab.host2.com
User user2
IdentityFile ~/.ssh/id_rsa_2
我的问题是每次我使用 git
时,都没有考虑到 config
文件。它一直在寻找 id_rsa 文件。
我的配置文件有什么问题?
Host
只是一个个人标识符,还是在 git
搜索密钥时将其考虑在内?
我应该提供哪个用户? "git" 还是我在各个服务器注册的真实用户?
我的 config
文件到底出了什么问题?
非常感谢您。
Host
条目是一种模式,与您在查找密钥时请求的主机相匹配。然后,HostName
是实际登录的主机,默认为 Host
的值。所以,你可以说:
Host gitlab.host1.com
User user1
IdentityFile ~/.ssh/id_rsa_1
您也可以在调用 git 时将 gitlab.host1.com-user1
指定为主机,它应该可以与您当前的配置一起使用。
更多信息,您可以查看man ssh_config
。
我与两个不同的 git 存储库交互,它们都是 GitLab 实现。
因为我需要使用不同的用户(和电子邮件)来访问它们,所以我创建了两个 ssh 密钥:比方说 id_rsa_1
和 id_rsa_2
。之后我写了一个 ~/.ssh/config
文件来指定何时应该使用每个 id_rsa 文件。配置文件是:
Host gitlab.host1.com-user1
HostName gitlab.host1.com
User user1
IdentityFile ~/.ssh/id_rsa_1
Host gitlab.host2.com-user2
HostName gitlab.host2.com
User user2
IdentityFile ~/.ssh/id_rsa_2
我的问题是每次我使用 git
时,都没有考虑到 config
文件。它一直在寻找 id_rsa 文件。
我的配置文件有什么问题?
Host
只是一个个人标识符,还是在 git
搜索密钥时将其考虑在内?
我应该提供哪个用户? "git" 还是我在各个服务器注册的真实用户?
我的 config
文件到底出了什么问题?
非常感谢您。
Host
条目是一种模式,与您在查找密钥时请求的主机相匹配。然后,HostName
是实际登录的主机,默认为 Host
的值。所以,你可以说:
Host gitlab.host1.com
User user1
IdentityFile ~/.ssh/id_rsa_1
您也可以在调用 git 时将 gitlab.host1.com-user1
指定为主机,它应该可以与您当前的配置一起使用。
更多信息,您可以查看man ssh_config
。