首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用github时如何管理ssh密钥

使用github时如何管理ssh密钥
EN

Stack Overflow用户
提问于 2016-03-25 15:19:15
回答 1查看 130关注 0票数 1

我正在使用来自github的两个不同的私有存储库,我为每个存储库生成了两个密钥,并且我有一个配置文件,如下所示:

代码语言:javascript
运行
复制
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。

我怎么能告诉吉特总是从一个单一的键识别。

我也在尝试这样做:

代码语言:javascript
运行
复制
$ ssh -T git@github.com-frontend

输入密码用于key‘/c/Users/lulzim/..ssh/id_rsa_前端’:嗨,lulzimfazlija2/venture-前端!您已经成功地通过了身份验证,但是GitHub不提供shell访问。

但是,当我执行git推送时,它仍然要求我从id_rsa键中写入密码。

有什么办法,我可以设置git总是要求我从每个项目的具体键。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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
  • 输入密码用于密钥意味着您的私有ssh密钥是受密码保护的。 如果您想避免每次使用密码时输入所述密码,则需要使用将ssh密钥添加到ssh代理中。。 在一次狂欢中: eval $(ssh-agent -s) ssh-add ~/.ssh/id_rsa_前端

然后,您可以使用原产地url,例如:

代码语言:javascript
运行
复制
github.com-frontend:lulzimfazlija2/my_frontend_project
github.com-backend:lulzimfazlija2/my_backend_project

(不需要“git@”前缀,因为User git将在~/.ssh/config中声明)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36222686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档