问题描述
我有两个GitHub帐户(例如personnel
和work
)。我将~/.ssh/config
文件配置为可以与multiple accounts一起使用。我为work
帐户创建了ssh密钥,并将公用密钥添加到了我的work
GitHub帐户中。
我创建了一个组织帐户并创建了一个私人仓库。我可以从我的work
帐户克隆/推送/拉到该私人仓库。每次我推/拉时都需要输入密码,因此添加了ssh key运行命令ssh-add ~/.ssh/id_rsa_work
,我可以推/拉而无需一次又一次地输入密码。但是问题出在运行ssh-add ~/.ssh/id_rsa_work
之后,我以某种方式可以从我的personnel
帐户克隆/推送/拉出这个私有存储库,我认为这不应该发生。
我不确定出了什么问题,但是如果有人可以指导我正确的方向并告诉我我做错了那将是很好的。随时询问相关信息(不是git / GitHub专家)
配置文件详细信息:
#Default GitHub (personnel account)
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
#Work Github
Host github_work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work
使用pesonnel
帐户添加远程命令:
git remote add origin git@github.com:Organisation/hello.git
work
帐户:
git remote add origin git@github_work:Organisation/hello.git
解决方法
首先,请确保两个远程存储库都被SSH URL引用
cd /paath/to/repo
git remote -v
如果其中一个正在使用HTTPS,则它将使用在凭据帮助器中存储/缓存的凭据(用户名/密码),而另一个将使用正确的密码保护的私钥。
第二,您可以尝试使用受密码保护的私钥( )来测试相同的方法,以避免仅出于测试目的而处理ssh-agent。