我的问题是我不能从GitLab中push或fetch。但是,我可以克隆(通过HTTP或SSH)。当我试图推的时候,我得到这个错误:
权限被拒绝(publickey)致命:无法从远程存储库读取
从我看过的所有线索来看,以下是我所做的:
在我的电脑上设置一个SSH密钥,并将公钥添加到GitLab
完成了用户名和电子邮件的config -global
通过SSH和HTTP克隆,以检查它是否能解决问题
执行ssh -T 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密钥
您必须遵循生成ssh密钥的相同步骤,但请确保
你
ssh-keygen -t ed25519 -C "your-email-id@gmail.com"
输入您想要保存的路径(例如:my-pc/Desktop/.ssh/ed25519)
添加公钥到你的gitlab(如何添加ssh密钥到gitlab)
您必须使用下面的命令创建新的ssh标识
ssh-add ~/my-pc/Desktop/.ssh/ed25519