1

我知道有很多像这样的问题,但没有答案能够为 redhat 解决这个问题。我有一个有两个帐户的 MACOS,没什么大不了的,但在 Red Hat 上它就是行不通。

我有 2 个帐户

https://github.com/USER1/REPOSITORY_A.git
https://github.com/USER2/REPOSITORY_B.git

我之前的设置是创建一个用于 USER1 的 SSH 密钥:

~/.ssh/id_rsa.pub 

第二个 USER2 在:

~/.ssh/USER2/id_rsa.pub

添加了 ssh 密钥,例如:

ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/USER2/id_rsa

我必须在 github 上为每个密钥添加自己的帐户 SSH 密钥。而且我必须像这样设置我的配置:

vi ~/.ssh/config

Host github.com
    Hostname ssh.github.com
    Port 443
    AddKeysToAgent yes
    IdentityFile ~/.ssh/id_rsa
    User git

Host user2-github.com
    HostName github.com
    AddKeysToAgent yes
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/user2/id_rsa
    User git

Host *
    AddKeysToAgent yes
    IdentityFile ~/.ssh/id_rsa

而不是我必须设置 USER2 本地存储库一个远程主机,如:

git remote set-url origin git@user2-github.com:user2/REPOSITORY_B.git

在 MACOS 上,一切都像魅力一样,但在 redhat 上,当我尝试推送本地(USER2)存储库时,它会尝试使用“USER1”凭据......我找不到解决方案,所以我想我需要你的帮助...

如何在 SSH 和 Red Hat 7 中使用两个不同的 github 帐户?

4

1 回答 1

0

首先,在 RedHat 上,检查使用的远程 URL:

git remote -v

如果您https://在那里看到,再多的 SSH 调整都无济于事:SSH 密钥将被忽略。git config credential.helper可能会向您显示一个凭据缓存,它会缓存 USER1 凭据(用户名/密码)

Secong,确保你的 URL 是user2-github.com:user2/REPOSITORY_B.git(不需要git@,因为用户git是在 SSH 配置文件中指定的)

于 2020-02-19T05:44:18.250 回答