我买了一台装有 ubuntu 22.04 的新笔记本电脑,我必须配置 ssh 才能使用 gitlab 存储库,我按照文档中的生成 ssh 密钥对,并使用了 ED25519。
正如我所说,我按照步骤操作并将密钥添加到我的 gl 帐户中。现在,每次我尝试克隆 repo 或运行时git push
都会git pull
收到此错误:
sign_and_send_pubkey: signing failed for ED25519 "/home/abar/.ssh/id_ed25519" from agent: agent refused operation
[email protected]: Permission denied (publickey)
注意:尝试通过 ssh 进入远程服务器出现同样的错误,与 gl 无关。
运行这些命令(来自 gl 文档)我可以在终端中打开的会话中连接到 gitlab,打开新的会话却不知道它,我必须再次运行这些命令。
eval $(ssh-agent -s)
ssh-add <directory to private SSH key>
该文档还建议添加~/.ssh/config
这些行(但它不起作用)
Host gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_com_rsa
我向 chatgpt 询问了这个问题,它提出了 2 件事:
运行
ssh-add -l
以验证我的密钥是否存在。确定,它返回值。它还建议运行 eval 并 ssh-add 密钥将 eval 和 ssh-add 添加到
.zshrc
文件中。这不是什么大问题,因为每次我都必须输入密码……
我检查的另一件事是的内容$SSH_AUTH_SOCK
并返回/run/user/1002/keyring/ssh
。
在旧笔记本电脑中,我使用的是 ubuntu 22.04,我没有遇到这些问题,我检查了权限、配置文件,它们是相同的。
我不知道如何解决这个问题。