我所在的公司和我都在使用 Gitlab 作为远程仓库。为了方便从我的个人笔记本电脑连接,我希望能够连接到 2 个不同的仓库。一个是公司的,另一个是我的。我使用 2 个帐户来实现此目的(个人帐户和公司帐户)
本地
我在 ~/.ssh/config 中配置了 2 个节
Host gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/personal
ForwardAgent yes
Host company.gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/company
ForwardAgent yes
当我从本地计算机执行 git 操作时一切正常。
当我连接到我的个人远程服务器并尝试 git my repo 时,就会出现问题。我收到类似这样的错误
remote:
remote: ========================================================================
remote:
remote: The project you were looking for could not be found.
remote:
remote: ========================================================================
remote:
fatal: Could not read from remote repository.
经过一番搜索,我发现 git 使用了错误的身份。如果我这样做,ssh-add -l
我会得到 2 个指纹
4096 SHA256:xxxxxxxxxx personal_key (RSA)
4096 SHA256:yyyyyyyyyy company_key (RSA)
如何确保在我的 git repo 上仅使用来自我的远程服务器的一个身份? 如何确保我使用来自我的个人远程服务器 (personal_key) 的正确身份?
感谢您的帮助。
答案1
超级用户向我推荐了正确的帖子,但我后来才看到它。解决方案就在那里。
我需要做的是:
- 将我的公钥复制到我的个人远程服务器上
scp ~/.ssh/personal.pub [email protected]:.ssh/
- 更新我的远程配置文件以添加
Host gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/personal.pub
User git
谢谢克里斯·约翰森