我的问题是我不能从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或其他具有集成终端的编辑器,仅仅创建一个新的编辑器是不够的,你需要重新启动你的编辑器。