管理多个GIT SSH密钥

时间:2019-12-17 07:04:11

标签: github ssh gitlab repository

最近在同一台计算机上维护过多的SSH密钥存在一些问题。

  • 我已经在计算机中为UserA(公司)和UserB(个人)创建了两个SSH密钥。这两个ID都是使用不同的电子邮件ID创建的。
  • 我能够为UserA拉动和推送代码更改

但是UserB是我推送代码时遇到的麻烦。

  • 我能够提取UserB的代码(回购与UserA不同)
  • 在推送代码时出现以下错误

    ERROR: Permission to UserB/xxxxxx.git denied to UserA.

    Please make sure you have the correct access rights
    and the repository exists. ```
    

对我来说有点奇怪。有人可以帮我吗?

3 个答案:

答案 0 :(得分:0)

从Git 2.3.0开始,您可以使用以下命令

GIT_SSH_COMMAND='ssh -i private_key_file' git clone user@host:repo.git

答案 1 :(得分:0)

解决了!!

使用以下链接为个人和工作创建了Gitconfig,

https://medium.com/@trionkidnapper/ssh-keys-with-multiple-github-accounts-c67db56f191e

答案 2 :(得分:0)

有时您会遇到在ssh-agent中存储太多密钥的问题。
然后服务器在提供太多密钥后拒绝连接。

可以通过强制ssh仅使用一个特定密钥来解决此问题。

GIT_SSH_COMMAND='ssh -o IdentityAgent=none -i private_key_file' git <cmd>