跳至正文
-
关注
IT极限技术分享汇

ITmax

IT极限技术分享汇

ITmax

  • 首页
  • 商店
  • 我的帐户
  • 结账
  • 购物车
  • 首页
  • 商店
  • 我的帐户
  • 结账
  • 购物车
关

搜索

技术分享

openSSH升级公钥失效Permission denied (publickey)解决方案

mumupudding 的头像
作者 mumupudding
2023年1月4日 1 分钟阅读
0

背景

centos系统升级openSSH后,服务器上无法再拉取代码,报错如下:

image.png

原因

服务器重新安装SSH后公钥改变,需要重新安装

ssh-keygen -t rsa -C “邮箱地址”

生成公钥,删除gitlab原有公钥,但是git pull依然报错如下:

image.png

依然提示公钥有问题,没有pull权限

解决方案

1、删除.ssh/known_hosts里面的内容

image.png

2、如果重新生成公钥还是没法pull代码可能会有一下情况

3、8.8版本开始OpenSSH就不支持rsa加密算法了,mac也是因为升级了OpenSSH,所以不支持rsa算法

4、GitHub 通过在 2022 年 3 月 15 日删除旧的、不安全的密钥类型来提高安全性。

ssh-dss 自该日期起,不再支持 DSA 密钥 ( )。您不能将新的 DSA 密钥添加到您在 GitHub.com 上的个人帐户。

2021 年 11 月 2 日之前的 RSA 密钥 ( ssh-rsa ) valid_after 可以继续使用任何签名算法。在该日期之后生成的 RSA 密钥必须使用 SHA-2 签名算法。一些较旧的客户端可能需要升级才能使用 SHA-2 签名。

ssh-keygen -t ed25519 -C "<comment>"

注意:如果您使用的是不支持 Ed25519 算法的旧系统,请使用:

ssh-keygen -t rsa -b 4096 -C "<comment>"

5、使用rsa算法生成不支持的话改用ed25519的加密方式生成公钥,配置后就可以了

以上是本人开发中遇到的问题,以及解决方案,如果帮助请选择使用

https://segmentfault.com/a/1190000043237703

mumupudding 的头像
作者

mumupudding

关注我
其他文章
上一个

面试官:Docker 有几种网络模式?5 年工作经验都表示答不上来。。

下一个

三年前端的2022,如果创造比卷更有趣,那为何创造不能成为主旋律?

暂无评论!成为第一个。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Copyright 2026 — IT极限技术分享汇. 备案号:浙ICP备17006560号-2