我的问题是我不能从GitLab中push或fetch。但是,我可以克隆(通过HTTP或SSH)。当我试图推的时候,我得到这个错误:

权限被拒绝(publickey)致命:无法从远程存储库读取

从我看过的所有线索来看,以下是我所做的:

在我的电脑上设置一个SSH密钥,并将公钥添加到GitLab 完成了用户名和电子邮件的config -global 通过SSH和HTTP克隆,以检查它是否能解决问题 执行ssh -T git@gitlab.com命令

如果您对如何解决我的问题有任何见解,我将不胜感激。


当前回答

有一个非常简单的解决方案: 与其使用SSH,不如使用https。 这样做: 在项目文件夹中有一个。git文件夹 在那里-你有一个配置文件-在文本编辑器中打开它 改变这条线

url = git@gitlab。com: yourname / yourproject git。

to

Url = https://gitlab.com/yourname/yourproject.git

其他回答

我找了很久才找到这个。这对我来说是完美的。

Go to "Git Bash" just like cmd. Right click and "Run as Administrator". Type ssh-keygen Press enter. It will ask you to save the key to the specific directory. Press enter. It will prompt you to type password or enter without password. The public key will be created to the specific directory. Now go to the directory and open .ssh folder. You'll see a file id_rsa.pub. Open it on notepad. Copy all text from it. Go to https://gitlab.com/-/profile/keys or Paste here in the "key" textfield. Now click on the "Title" below. It will automatically get filled. Then click "Add key".

现在试一试,肯定会管用的。

有一个非常简单的解决方案: 与其使用SSH,不如使用https。 这样做: 在项目文件夹中有一个。git文件夹 在那里-你有一个配置文件-在文本编辑器中打开它 改变这条线

url = git@gitlab。com: yourname / yourproject git。

to

Url = https://gitlab.com/yourname/yourproject.git

我认为简单的解决方案是将私钥添加到身份验证代理(如果您的密钥不是~/.ssh/id_rsa),

ssh-add ~/.ssh/<your private key>

基本上让ssh-agent来处理它。

此外,您可以永久地添加它。

我也有同样的问题,在尝试了@Khan的答案后,我提出了这个问题。然而,我只能通过将.git/config文件中的原始url更改为https地址:https://gitlab.com/mygitlabusername/mygitproject.git来使其工作

由于通过ssh访问被拒绝,我发现使用https应该不是问题。但是,每次推送到at存储库时,它都会要求您提供用户名和密码

尝试使用git克隆XXX,如果你看到LibreSSL SSL_connect: SSL_ERROR_SYSCALL连接到XXX,这可能是刚刚更新了你的操作系统,安装了一些开发工具,例如Xcode及其Mac上的工具,VPN,反病毒(特别是卡巴斯基反病毒)或其他之间的东西。

在我的情况下,简单地重新启动我的操作系统(macOS Catalina)修复了这个问题。