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

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

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

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

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


当前回答

主要有两点

您必须有id_rsa。Pub和id_rsa(私有)密钥在您的.ssh文件夹中(应该在您的主文件夹中)。如果没有,就创造它,把你的钥匙放在那里)。如果你用不同的密钥文件命名,它就不会起作用 修改“id_rsa”的权限为“chmod 400 ~/.ssh/id_rsa . sh”

其他回答

在我的例子中,在更新到12.9.2之后,我需要更新我的sshd_config文件以使用Authorized command keys指令。

这里的文档解释了一切: https://docs.gitlab.com/ee/administration/operations/fast_ssh_key_lookup.html

当我重新启动ssh时,密钥完美地工作了。

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

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 / rsa密钥到gitlab Ssh-add(输入您的终端) - ssh - vt git@gitlab.com

早些时候,这对我来说是非常困难的,但当我尝试时,在Mac和Linux中添加ssh密钥变得如此容易。有以下几个步骤和命令可以做到这一点:

打开系统的一个终端,通过下面的命令移动到项目目录中:

cd 'project directory name'

在该终端中运行ssh-keygen命令并输入它,直到密钥的randomart图像出现在那里。 然后在终端上再输入一个命令:

cat ~/.ssh/id_rsa.pub

它将生成ssh密钥。Key将以ssh-rsa开始,以.local结束。

复制密钥并转到您的Gitlab配置文件部分,然后ssh密钥部分并粘贴到那里。点击添加按钮,这将工作。

这两种访问git存储库的方式之间似乎存在差异,即使用SSH或HTTPS。对我来说,我遇到这个错误是因为我试图使用SSH推送我的本地存储库。

这个问题可以简单地通过单击项目登录页面上的克隆按钮来解决,复制HTTPS链接并将其替换为格式为“git@gitlab...”的SSH链接。