![如何确保我使用的个人远程服务器上的正确身份?](https://linux22.com/image/1631495/%E5%A6%82%E4%BD%95%E7%A1%AE%E4%BF%9D%E6%88%91%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%AA%E4%BA%BA%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E6%AD%A3%E7%A1%AE%E8%BA%AB%E4%BB%BD%EF%BC%9F.png)
我所在的公司和我都在使用 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
谢谢克里斯·约翰森