推送到现有项目时出现SSH错误权限被拒绝(publickey)

 遥不V可及 发布于 2023-02-10 12:45

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

    按照此链接中的描述创建了一个rsa

    复制生成的代码{my key}.pub并在GitLab中添加此代码

    在我现有的存储库中添加了url with command git remote add gitlab git@gitlab.com:ridermansb/breezenhibernateproblem.git

    我试图推动 git push -u gitlab master

我的.ssh/config

Host gitlab.com
  HostName gitlab.com
  IdentityFile C:\Users\Riderman\.ssh\gitlab_rsa
  IdentitiesOnly yes

错误如下:

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

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

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

我究竟做错了什么?

1 个回答
  • 看到你的截屏后,我看到你没有%HOME%\.ssh\config文件.

    这很重要,因为:

    默认情况下,ssh将查找公钥/私钥 %HOME%\.ssh\id_rsa(.pub)

    使用类似scp的语法(git@gitlab.com:yourRepo使用:'作为分隔符),ssh可以在.ssh/config文件中查找实际公钥/私钥的位置,并将其gitlab.com用作所述config文件中的条目.

    添加 %HOME%\.ssh\config:

    Host gitlab.com
      HostName gitlab.com
      IdentityFile C:\path\to\.ssh\gitlab_rsa
      IdentitiesOnly yes
    

    你的git push -u gitlab master意志会奏效

    原来它也是关于正确设置HOME:

    %HOME%不对.
    我将变量配置%HOME%为指向%USERPROFILE%本地并且工作正常

    Mysygit 确实设置了HOME,但是如果你在git-cmd会话之外使用git ,那么你有责任HOME正确设置.

    2023-02-10 12:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有