我的问题是我不能从GitLab中push或fetch。但是,我可以克隆(通过HTTP或SSH)。当我试图推的时候,我得到这个错误:
权限被拒绝(publickey)致命:无法从远程存储库读取
从我看过的所有线索来看,以下是我所做的:
在我的电脑上设置一个SSH密钥,并将公钥添加到GitLab
完成了用户名和电子邮件的config -global
通过SSH和HTTP克隆,以检查它是否能解决问题
执行ssh -T git@gitlab.com命令
如果您对如何解决我的问题有任何见解,我将不胜感激。
这可能听起来很愚蠢,但请确保您的系统和git客户端使用相同的ssh客户端。这在Windows上可能是最相关的。
当您安装现代版本的Windows时,默认情况下会安装OpenSSH客户端,而当您为Windows安装Git时,它在内部使用自己捆绑的ssh客户端。因此,您需要将Git for Windows指向您的OpenSSH安装。
对于任何其他第三方ssh客户端也是一样的,我们在这里只选择OpenSSH作为我们的客户端。
Win + R => cmd
如果安装了OpenSSH路径
Win + S => '编辑环境变量
系统变量=>查找GIT_SSH密钥
编辑或创建(如果不存在),将其值设置为OpenSSH path
创建一个新的终端实例,现在应该在其中应用更改,这样就可以继续了。
注意,如果你使用的是VS Code或其他具有集成终端的编辑器,仅仅创建一个新的编辑器是不够的,你需要重新启动你的编辑器。
步骤要做,得到同样的错误,但我修复了它。
Gitlab需要ssh-rsa,所以下面是运行ssh for rsa的代码
ssh-keygen -o -t rsa -b 4096 -C "name@gmail.com"
name@gmail.com是您的gitlab帐户电子邮件
It will prompt you to enter so just hit Enter after the below code is prompt,
Enter file in which to save the key (/home/yourDesktopName/.ssh/id_rsa):
It will prompt again you to enter so just hit Enter after the below code is prompt,
Enter passphrase (empty for no passphrase):
It will prompt again for the last you to enter so just hit Enter after the below code is prompt,
Enter same passphrase again:
You will show your ssh-rsa generate.
Login to your Gitlab account and Go to the right navbar you will get setting and in the left sidebar you will get ssh key. Enter in it.
Look above the prompt asking you to enter, you will get the path of ssh-rsa.
Go to your SSH folder and get the id_rsa.pub
Open it and get the key and Copy Paste to the Gitlab and you are nearly to done.
Check by: ssh -T git@gitlab.com
You will get: Welcome to GitLab, @joy4!
Done.