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

Cannot get multiple ssh keys to work with BitBucket using aliases

我有两个 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.

我已将公钥添加到相应的 bitbucket 帐户中,所以不确定我做错了什么?

Host home@bitbucket.org

ssh_config Host 指令不接受 "username@" 语法。请改用 Match 指令:

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

好的。

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

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