git配置密钥依旧无权限问题
最近在一台新的机器上给git远程仓库配置好密钥后,发现还是提示
“Permission denied (publickey)”
无权限的问题。
回顾一下常规配置流程:
- git config –gloabal user.name “xxx”
- git config –gloabal user.email “xxx@email.com”
-
ssh-keygen -t rsa -C “xxx@email.com”
找到生成的 id_rsa.pub 将公钥添加到远程仓库,然后拉取代码一般来说没有问题,但是不知何种原因,一向惯用的方式此时此刻出现无权限问题。
经过一番摸索原因是因为
“openSSH 8.8 以上版本弃用 rsa 算法”
,有2中解决方式:
一、 继续使用rsa生成的密钥:
- 保留~/.ssh/id_rsa.pub 并同时新建 config文件,加入下面这句话保存
PubkeyAcceptedKeyTypes +ssh-rsa
二、使用新的签名算法
使用 ssh-keygen -t ed25519 -C “xxx@email.com” 生成新的密钥,会在 ~/.ssh/ 下看到这样的文件:
再把 id_ed25519.pub 里面的密钥配置到仓库即可
两种方式都可以,rsa 使用较广泛,兼容好,ed25519 更安全,生成的密钥也很短。
参考链接:
版权声明:本文为weixin_60187838原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。