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

背景

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的加密方式生成公钥,配置后就可以了

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


大前端技术栈
大前端技术汇总

基于大前端端技术的一些探索反思总结及讨论

5.1k 声望
3.5k 粉丝
0 条评论
推荐阅读
图解浏览器的多进程渲染机制
观察浏览器的任务管理器可以发现,打开浏览器的一个页面需要多个进程,包括浏览器进程、GPU 进程、网络进程、渲染进程等,有插件的话还会包括各种插件进程(Chrome 选项 -&gt; 更多工具 -&gt; 任务管理器)。

兰俊秋雨6阅读 1.4k

ESlint + Stylelint + VSCode自动格式化代码(2023)
安装插件 ESLint,然后 File -&gt; Preference-&gt; Settings(如果装了中文插件包应该是 文件 -&gt; 选项 -&gt; 设置),搜索 eslint,点击 Edit in setting.json

谭光志34阅读 20.8k评论 9

涨姿势了,有意思的气泡 Loading 效果
今日,群友提问,如何实现这么一个 Loading 效果:这个确实有点意思,但是这是 CSS 能够完成的?没错,这个效果中的核心气泡效果,其实借助 CSS 中的滤镜,能够比较轻松的实现,就是所需的元素可能多点。参考我们...

chokcoco24阅读 2.3k评论 3

你可能不需要JS!CSS实现一个计时器
CSS现在可不仅仅只是改一个颜色这么简单,还可以做很多交互,比如做一个功能齐全的计时器?样式上并不复杂,主要是几个交互的地方数字时钟的变化开始、暂停操作重置操作如何仅使用 CSS 来实现这样的功能呢?一起...

XboxYan25阅读 1.7k评论 1

封面图
在前端使用 JS 进行分类汇总
最近遇到一些同学在问 JS 中进行数据统计的问题。虽然数据统计一般会在数据库中进行,但是后端遇到需要使用程序来进行统计的情况也非常多。.NET 就为了对内存数据和数据库数据进行统一地数据处理,发明了 LINQ (L...

边城17阅读 2k

封面图
【代码鉴赏】简单优雅的JavaScript代码片段(一):异步控制
Promise.race不满足需求,因为如果有一个Promise率先reject,结果Promise也会立即reject;Promise.all也不满足需求,因为它会等待所有Promise,并且要求所有Promise都成功resolve。

csRyan26阅读 3.4k评论 1

「彻底弄懂」this全面解析
当一个函数被调用时,会创建一个活动记录(有时候也称为执行上下文)。这个记录会包含函数在 哪里被调用(调用栈)、函数的调用方法、传入的参数等信息。this就是记录的其中一个属性,会在 函数执行的过程中用到...

wuwhs17阅读 2.4k

封面图

基于大前端端技术的一些探索反思总结及讨论

5.1k 声望
3.5k 粉丝
宣传栏