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

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

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

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

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


当前回答

我在gitlab help中找到了解决方案。

To create a new SSH key pair: 
 1. Open a terminal on Linux or macOS, or Git Bash / WSL on Windows.
 2. Generate a new ED25519 SSH key pair: ssh-keygen -t ed25519 -C "email@example.com"
 2.1 Or, if you want to use RSA: ssh-keygen -o -t rsa -b 4096 -C "email@example.com"
 3. Next, you will be prompted to input a file path to save your SSH key pair to... use the suggested path by pressing Enter
 4. Once the path is decided, you will be prompted to input a password to secure your new SSH key pair. It's a best practice to use a password, but it's not required and you can skip creating it by pressing Enter twice.
 5. Copy your public SSH key to the clipboard by using one of the commands below depending on your Operating System:
        macOS:        pbcopy < ~/.ssh/id_ed25519.pub
        WSL / GNU/Linux (requires the xclip package):      xclip -sel clip < ~/.ssh/id_ed25519.pub
        Git Bash on Windows:      cat ~/.ssh/id_ed25519.pub | clip
 6. Navigating to SSH Keys and pasting your public key in the Key field
 7. Click the Add key button

我希望它能帮助到你们中的一些人!

其他回答

这个方法对我很有用。

添加SSH / rsa密钥到gitlab Ssh-add(输入您的终端) - ssh - vt git@gitlab.com

我也有同样的问题, 在我重新生成。ssh文件夹内的ssh密钥而没有命名它(保持它为id_rsa.pub)后,它已被修复。 然后再次添加到gitlab ssh key。 现在一切正常。

我遇到这个问题是因为Windows-10上的ssh-agent冲突。 如果你也在使用Windows-10,那么请仔细阅读我的详细解决方案

如果你不在windows-10,那么请检查是否:

您的ssh代理正在运行 将正确的私钥添加到ssh-agent中 正确的公钥被添加到你的github帐户(你可以克隆,所以这一步应该是好的)

确保您没有运行sudo git克隆git@gitlab.com:project/ something .git,否则SSH将在/root/中查找。SSH,而不是您上传的密钥~/.ssh/id_rsa

如何在ubuntu中添加SSH密钥到gitlab帐户?

在项目目录中打开终端。 输入' ssh-keygen -o -t rsa -b 4096 -C "your gitlab email" ',然后按enter键 输入“vim /home/mnbtech/.ssh/id_rsa”。Pub '然后按回车键 (或者手动打开你的'id_rsa. exe '。Pub '从你保存它的地方) SSH密钥将出现。复制这些 转到你的gitlab账户。 单击头像,单击“设置” 在左侧选择SSH-Keys 然后粘贴这些键 点击添加键

SSH-Key将被添加!

(注意,如果您有生成预览SSH密钥和获得拒绝权限(公钥)。您删除您的预览ssh密钥,并生成一个新的,并在您的终端上添加git用户名和电子邮件)