github - 管理多个 GIT ssh 密钥
问题描述
最近在同一台计算机上维护太多 SSH 密钥时遇到一些问题。
- 我在我的计算机中为 UserA(公司)和 UserB(个人)创建了两个 SSH 密钥。两个 ID 都是使用不同的电子邮件 ID 创建的
- 我能够为 UserA 拉取和推送代码更改
但是 UserB 是我在推送代码时遇到麻烦的地方。
- 我能够提取 UserB 的代码(其中 repo 与 UserA 不同)
推送代码时出现以下错误
ERROR: Permission to UserB/xxxxxx.git denied to UserA.
Please make sure you have the correct access rights and the repository exists. ```
让我觉得有点奇怪。有人可以帮我吗?
解决方案
有时您会遇到 ssh-agent 中存储的密钥过多的问题。
然后服务器在提供太多密钥后拒绝连接。
这可以通过强制 ssh 仅使用一个特定密钥来解决。
GIT_SSH_COMMAND='ssh -o IdentityAgent=none -i private_key_file' git <cmd>