git配置密钥依旧无权限问题

最近在一台新的机器上给git远程仓库配置好密钥后,发现还是提示 “Permission denied (publickey)” 无权限的问题。

回顾一下常规配置流程:

  1. git config --global user.name “xxx”
  2. git config --global user.email “xxx@email.com”
  3. ssh-keygen -t rsa -C “xxx@email.com”
    找到生成的 id_rsa.pub 将公钥添加到远程仓库,然后拉取代码一般来说没有问题,但是不知何种原因,一向惯用的方式此时此刻出现无权限问题。

经过一番摸索原因是因为 “openSSH 8.8 以上版本弃用 rsa 算法”,有2中解决方式:

一、 继续使用rsa生成的密钥:

  1. 保留~/.ssh/id_rsa.pub 并同时新建 config文件,加入下面这句话保存
PubkeyAcceptedKeyTypes +ssh-rsa

二、使用新的签名算法
使用 ssh-keygen -t ed25519 -C “xxx@email.com” 生成新的密钥,会在 ~/.ssh/ 下看到这样的文件:

再把 id_ed25519.pub 里面的密钥配置到仓库即可

两种方式都可以,rsa 使用较广泛,兼容好,ed25519 更安全,生成的密钥也很短。

参考链接:

  1. https://confluence.atlassian.com/bitbucketserverkb/ssh-rsa-key-rejected-with-message-no-mutual-signature-algorithm-1026057701.html
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐