推送到现有项目时发生SSH错误拒绝权限(公钥)



完成了使用GitLab的所有必要步骤,这些设置是:

  1. 如本链接所述创建了一个rsa
  2. 复制了{my key}.pub中生成的代码,并在GitLab中添加了此代码
  3. 在我现有的存储库中,使用命令git remote add gitlab git@gitlab.com:ridermansb/breezenhibernateproblem.git添加到url
  4. 我试着推git push -u gitlab master

我的.ssh/config

Host gitlab.com
  HostName gitlab.com
  IdentityFile C:UsersRiderman.sshgitlab_rsa
  IdentitiesOnly yes

以下错误:

警告:已将"gitlab.com,54.243.197.170"(RSA)永久添加到已知主机列表中。权限被拒绝(公钥)。致命:无法从远程存储库中读取。

请确保您拥有正确的访问权限并且存储库存在。

我制作了一个视频,展示了所有步骤:http://www.screenr.com/euVH

我做错了什么?

看了你的屏幕截图后,我发现你没有%HOME%.sshconfig文件。

这很重要,因为:

  • 默认情况下,ssh将在%HOME%.sshid_rsa(.pub)中查找公钥/私钥
  • 使用类似scp的语法(git@gitlab.com:yourRepo,以":"作为分隔符),ssh可以在.ssh/config文件中查找实际公钥/私钥的位置,使用gitlab.com作为所述config文件中的条目

%HOME%.sshconfig添加为:

Host gitlab.com
  HostName gitlab.com
  IdentityFile C:pathto.sshgitlab_rsa
  IdentitiesOnly yes

并且您的CCD_ 12将工作。

事实证明,这也是为了正确设置HOME:

%HOME%不正确
我将变量%HOME%配置为本地指向%USERPROFILE%,它工作于

Mysygit确实设置了HOME,但如果您在git-cmd会话之外使用git,则您有责任正确设置HOME

相关内容

最新更新