我为解决方案查了几个答案和论坛,但我找不到一个有效的答案。
我有这种情况:
~/.ssh
文件夹我创建了一个包含内容的~/.ssh/config
文件:
Host bitbucket bitbucket.org
Hostname bitbucket.org
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/other
User git
为了理智,我还使用ssh-add
添加了第二个密钥。运行ssh-add -l
会列出两个键。
使用命令行时,所有git命令都像魅力一样,具有两个存储库。但是在使用Eclipse时,我总是在尝试使用辅助密钥克隆或从存储库中提取时出现Invalid remote: origin
错误:
Caused by: org.eclipse.jgit.errors.NoRemoteRepositoryException: git@bitbucket.org:myuser/myrepository.git: conq: repository access denied.
我在Window > Preferences > Network Connections > SSH2 > Private keys
添加了辅助密钥,并将GIT_SSH
环境变量设置为指向我的ssh
可执行文件:
$echo $GIT_SSH
/usr/bin/ssh
我已经多次重启Eclipse甚至操作系统,但没有运气。
由于我可以毫无问题地从命令行使用git,我倾向于认为Eclipse存在问题。
如何在Eclipse上使用多个Git SSH密钥?或者如何强制Eclipse在单个项目中使用我的二级密钥?
答案 0 :(得分:5)
Host bitbucket bitbucket.org
?您不会在一个Host
部分声明多个条目名称。
我希望在ssh配置文件中看到声明多个键:
Host bitbucketuserA
Hostname bitbucket.org
IdentityFile ~/.ssh/id_rsa
User git
Host bitbucketuserB
Hostname bitbucket.org
IdentityFile ~/.ssh/other
User git
你会使用像
这样的ssh网址bitbucketuserA:userA/myrepo1
bitbucketuserB:userB/myrepo2
(这与我对“How to work on personal GitHub repo from office computer whose SSH key is already added to a work related GitHub account?”建议的内容类似)