无法使用别名获取多个ssh密钥以使用BitBucket

时间:2016-09-09 13:53:08

标签: git ssh bitbucket ssh-keys ssh-keygen

我有两个bitbucket帐户,一个用于我个人的东西,一个用于工作。我的个人工作正常,我在工作中使用的工作也很好;但是我希望能够从家里连接到工作,但我无法让它工作。

我的文件被调用:

## Unrelated ones I use for plan.io that still work

id_rsa
id_rsa.pub

## Personal one for bitbucket I just created because of seperation

homeid
homeid.pub

## Work one for bitbucket

workid
workid.pub

我的配置文件如下:

Host home@bitbucket.org
 HostName bitbucket.org
 IdentityFile ~/.ssh/homeid


Host work@bitbucket.org
 HostName bitbucket.org
 IdentityFile ~/.ssh/workid

现在我对如何使用别名进行克隆感到有些困惑,但尝试了:

git clone work@bitbucket.org:my-username/myrepo.git

但它失败并显示错误消息:

Cloning into 'myrepo'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我已将publick键添加到相应的bitbucket帐户,所以不确定我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

好的解决了。

我使用的是不正确的git clone地址,正确的是:

git clone git@workid:my-username/myrepo.git

...但还必须将我的 config 文件更改为以下内容以更改主机:

Host homeid
 HostName bitbucket.org
 IdentityFile ~/.ssh/homeid


Host workid
 HostName bitbucket.org
 IdentityFile ~/.ssh/workid

答案 1 :(得分:0)

  

主持人home@bitbucket.org

ssh_config Host指令不接受“username @”语法。改为使用Match指令:

Match user home host bitbucket.org
    HostName bitbucket.org
    IdentityFile ~/.ssh/homeid
...