访问Bitbucket仓库时出现git ssh授权错误,多个密钥。

9 浏览
0 Comments

访问Bitbucket仓库时出现git ssh授权错误,多个密钥。

我有多个SSH密钥,每个项目使用一个密钥。我已成功将公共SSH密钥分配给我Bitbucket账户中的相关存储库。

它们存储在以下位置:

~/.ssh/rsa_generic_repos
~/.ssh/rsa_generic_repos.pub
~/.ssh/rsa_project1
~/.ssh/rsa_project1.pub

然后,在尝试进行任何Git访问之前,我将这些密钥添加到我的ssh-agent中:

ssh-add ~/.ssh/rsa_generic_repos
ssh-add ~/.ssh/rsa_project1

ssh-add -l - 显示:

4096 SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXX Generic Repo Key (RSA)
4096 SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXX Project 1 Key (RSA)

我的问题:

这个命令可以正常工作(克隆存储库):

git clone git@bitbucket.org:Myusername/generic-repo.com.git

这个命令无法正常工作:

git clone git@bitbucket.org:Myusername/project1.com.git

错误信息:

Cloning into 'project1'...

repository access denied. deployment key is not associated with the requested repository.

fatal: Could not read from remote repository.

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

但是,如果我运行:

ssh-add -D
ssh-add ~/.ssh/rsa_project1
git clone git@bitbucket.org:Myusername/project1.com.git

它成功克隆了之前无法克隆的存储库。这首先表明公钥在Bitbucket上设置正确,并且ssh守护程序没有尝试使用除第一个条目之外的任何SSH密钥,因此导致上述错误。

如果有人能帮我找到一种让SSH通过ssh-agent会话中存储的所有密钥的方法,我将非常感激。

感谢您的帮助和时间。

0
0 Comments

问题出现的原因是:在访问Bitbucket仓库时,出现了git ssh授权错误。

解决方法是:参考以下链接进行解决:https://stackoverflow.com/a/71520433/4685823

0
0 Comments

在访问Bitbucket仓库时出现git ssh授权错误的问题可能是由于以下原因导致的:

1. 当使用多个SSH密钥时,没有正确配置~/.ssh/config文件。

2. 没有为每个仓库配置正确的身份验证信息。

解决方法如下:

1. 使用~/.ssh/config文件来管理多个SSH密钥。在该文件中添加以下内容:

Host bbgeneric
    Hostname bitbucket.org
    IdentityFile ~/.ssh/rsa_generic_repos
    User git
Host bbproject1
    Hostname bitbucket.org
    IdentityFile ~/.ssh/rsa_project1
    User git

2. 在使用SSH URL时,使用相应的主机别名来指定使用的密钥。例如:

bbgeneric:Myusername/generic-repo.com.git

bbproject1:Myusername/project1.com.git

通过这种方式,您可以轻松地使用多个SSH密钥访问不同的Bitbucket仓库。

感谢上述回答中提到的.ssh/config配置方法,这使得管理多个SSH密钥变得更加简单。如果您需要更多帮助,可以参考这个链接:stackoverflow.com/questions/7927750/…

0
0 Comments

这个问题的出现的原因是git ssh授权错误,当访问bitbucket repo多个密钥时。解决方法是在~/.ssh/config文件中定义ssh别名,并将别名用于git命令中。以下是解决方法的详细步骤:

1. 打开~/.ssh/config文件。

2. 添加以下内容:

Host bitbucket-generic-repos
       HostName bitbucket.org
       IdentityFile ~/.ssh/rsa_generic_repos
   Host bitbucket-project1
       HostName bitbucket.org
       IdentityFile ~/.ssh/rsa_project1
   

这将为每个不同的bitbucket repo定义一个别名,并指定相应的IdentityFile。

3. 在git命令中用ssh别名替换bitbucket.org。例如,将git clone git.org:<MyUsername>/project1.com.git替换为git clone git-project1:<MyUsername>/project1.com.git

4. 重复上述步骤,为每个bitbucket repo设置正确的别名。

5. 保存~/.ssh/config文件。

6. 运行git命令,确保不再出现授权错误。

通过按照以上步骤操作,可以解决git ssh授权错误,当访问bitbucket repo多个密钥时的问题。使用ssh别名可以简化命令,并确保正确的密钥被使用。同时,通过在~/.ssh/config文件中添加User git,可以在URL中省略git@部分。这样可以提高操作的便捷性。

0