Ubuntu 22.04下SSH密钥无法持久化存储,每次新终端会话需重新添加密钥的问题求助
Ubuntu 22.04下SSH密钥无法持久化存储,每次新终端会话需重新添加密钥的问题求助
各位好,我刚入手了一台装了Ubuntu 22.04的新笔记本,最近在配置SSH连接GitLab仓库的时候遇到了个头疼的问题,想请教下大家怎么解决。
我按照官方指引生成了ED25519格式的SSH密钥对,也把公钥成功添加到我的GitLab账号里了,但现在不管是克隆仓库、执行git push还是git pull,都会弹出下面的错误:
sign_and_send_pubkey: signing failed for ED25519 "/home/abar/.ssh/id_ed25519" from agent: agent refused operation
git@gitlab.com: Permission denied (publickey)
而且不止GitLab,我尝试SSH连接其他远程服务器也会报同样的错,说明问题和GitLab本身无关。
目前我找到的临时解决办法是,每次打开终端会话后手动运行这两个命令,就能在当前会话正常连接了,但新开一个终端窗口又得重新操作一遍,实在太繁琐:
eval $(ssh-agent -s) ssh-add <directory to private SSH key>
官方文档里提到可以通过修改~/.ssh目录下的配置文件来实现密钥的持久化加载,但我没搞懂具体的配置步骤,有没有大佬能详细指导一下呀?
备注:内容来源于stack exchange,提问作者Alejandro Bar
相关产品推荐
相关产品推荐

