我正在使用来自github的两个不同的私有存储库,我为每个存储库生成了两个密钥,并且我有一个配置文件,如下所示:
Host github.com-frontend
HostName github.com
User lulzimfazlija2
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa_frontend
Host github.com-backend
HostName github.com
User lulzimfazlija2
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa_backend
问题是,当我试图推动任何一个项目,它仍然要求我写密码从id_rsa,而不是id_rsa_frontend或id_rsa_backend。
我怎么能告诉吉特总是从一个单一的键识别。
我也在尝试这样做:
$ ssh -T git@github.com-frontend
输入密码用于key‘/c/Users/lulzim/..ssh/id_rsa_前端’:嗨,lulzimfazlija2/venture-前端!您已经成功地通过了身份验证,但是GitHub不提供shell访问。
但是,当我执行git推送时,它仍然要求我从id_rsa键中写入密码。
有什么办法,我可以设置git总是要求我从每个项目的具体键。
发布于 2016-03-26 05:52:40
ssh -T git@github.com-frontend
是有效的,并将根据您的~/.ssh/config
推送到github.com。
然而:
~/.ssh/config
中包含User git
,而不是User lulzimfazlija2
:始终将GitHub (在ssh中)推送为git
,而不是xxx
:GitHub将使用公共ssh密钥(与您的GitHub帐户相关联的)对您进行身份验证。
有效测试(ssh -T git@github.com-frontend
)实际上包括用户git
(这是正确的)。
如果User git
包含在~/.ssh/config
中,那么您的测试实际上是:
ssh -T github.com-frontend
然后,您可以使用原产地url,例如:
github.com-frontend:lulzimfazlija2/my_frontend_project
github.com-backend:lulzimfazlija2/my_backend_project
(不需要“git@
”前缀,因为User git
将在~/.ssh/config
中声明)
https://stackoverflow.com/questions/36222686
复制相似问题