我已经设置了两个GitHub帐户,但是我无法获取ssh密钥来正常工作。我尝试了各种配置。
Host github_username1
HostName github.com
IdentityFile ~/.ssh/rsa_1
User username1
Host github_username2
HostName github.com
IdentityFile ~/.ssh/rsa_2
User username2
git push
:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
适用于username1:
Host github.com
HostName github.com
IdentityFile ~/.ssh/rsa_1
User username1
Host github.com
HostName github.com
IdentityFile ~/.ssh/rsa_2
User username2
git push
在username2的仓库中:
ERROR: Permission to username2/repo.git denied to username1.
fatal: The remote end hung up unexpectedly
我也试着git push
既IdentityFile
和User
设置下相同Host
。输出与最后一个配置相同。
我认为git会自动搜索主机“ github.com”,因为远程是这样的。据说Host可以是任何您想要的(/programming//a/3828682)。有什么办法可以从ssh config更改特定Repo使用哪个Host?
如果可以仅通过〜/ .ssh / config解决此问题,则将是理想的。
IdentitiesOnly=yes
在每个host
部分以确保ssh将只挑选所选择的身份文件,并没有违约/别的尝试任何事情..