做了使用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
我究竟做错了什么?
看到你的截屏后,我看到你没有%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
正确设置.