Ubuntu22.04 私钥登录

1. 背景

以前一直使用秘钥登录Linux,最近新装了一台Ubuntu 22.04,照旧部署公钥,使用私钥登录,结果SecureCRT 登录没有问题,使用Xshell登录一直报“所选的用户密钥未在远程主机上注册,请再试一次”。然后各种试,最后才发现问题,记录如下:

2. 参考

  • 远程连接ubuntu服务器报错:userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms
  • 使用 ECDSA 与 Ed25519 公钥算法
  • ssh 连不上服务器 key type ssh-rsa not in PubkeyAcceptedAlgorithms 的解决办法

3. 环境

Ubuntu 22.04

4. 现象

  • Xshell 提示错误:“所选的用户密钥未在远程主机上注册,请再试一次”
  • 服务端日志: tail -n 100 /var/log/auth.log
Apr 29 16:12:40 sj-386 sshd[69647]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
Apr 29 16:12:43 sj-386 sshd[69647]: error: Received disconnect from 10.10.10.111 port 58575:0:  [preauth]
Apr 29 16:12:43 sj-386 sshd[69647]: Disconnected from authenticating user sj 10.10.10.111 port 58575 [preauth]

5. 解决

  • 问题定位:错误原因是 userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms
  • 解决方法: 使用 ed25519 算法生成秘钥
 ssh-keygen  -t ed25519

6. 注意

总结其它常见问题:

  • 公钥目录属主、权限错误
    • .ssh属主一定是登录用户sj。我用root账号导入公钥,文件属主成root了
    • .ssh目录权限是700
root@sj-386:/home/sj/.ssh# ll /home/sj/ -a
total 32
drwxr-xr-x 4 sj sj 4096 Apr 29 19:20 ./
drwxr-xr-x 6 root   root   4096 Apr 28 16:55 ../
drwx------ 2 sj sj 4096 Apr 29 17:33 .ssh/
  • 公钥文件名称、权限
    • 文件名 authorized_keys。导入公钥,千万不要导成私钥了
    • authorized_keys权限是600
drwx------ 2 sj sj 4096 Apr 29 17:33 ./
drwxr-xr-x 4 sj sj 4096 Apr 29 19:20 ../
-rw------- 1 sj sj   99 Apr 29 17:33 authorized_keys
-rw------- 1 root   root    464 Apr 29 17:32 shijin_ed25519
-rw-r--r-- 1 root   root     99 Apr 29 17:32 shijin_ed25519.pub
  • 转换私钥命令
# 注意,转换私钥会覆盖原文件
ssh-keygen -p -m PEM -f shijin_ed25519

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【电子通识】几个案例说明产品设计过程中的风险控制

做得越久就越会发现,在电子设计中的任何时候,都不要指望会有好运气。因为这个世界没有神仙,大家都是吃五谷杂粮的人。 设计一定按照事物的客观规律办事,否则今天走运不出事,明天走运不出事,但是总有一天风险…

TLV61070A具有0.5V超低输入电压的2.5A同步整流升压转换器适合超级电容供电

前言 最大特点是输入电压可低至0.5V(启动时的最小输入电压为 1.3V),适合作为超级电容的升压转换 特性 输入电压范围:0.5V 至 5.5V 启动时的最小输入电压为 1.3V 输出电压设置范围:2.2V 至 5.5V 两个 69mΩ (LS)/89m…

SpringBoot使用git-commit-id-maven-plugin打包

简介 git-commit-id-maven-plugin 是一个maven 插件,用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来,方便查阅和线上项目的维护。至于它的作用,用官方说法,这个功能对于大…

gitlab设置保护分支

gitlab设置保护分支方法 进入代码仓库首页,找到settings下的repository并点击进入 找到Protected Branches 下的Exoand按钮,并点击展开 可以看到已经存在默认的保护分支,通常是master/main分支,也可以添加新的保护分支 新建保护分…

学习冒泡排序的可视化实现(一)

文章目录 学习冒泡排序的可视化实现(一)1.确保已经具备rust code environment;2.创建新项目;3.添加依赖项4.初步展示图形化成果5.优化图形化展示实现思路: 6.整体优化 学习冒泡排序的可视化实现(一&#xf…

Debian操作系统的常用指令介绍

Debian是一个流行的Linux操作系统,以其稳定性和安全性而闻名。对于Debian用户来说,掌握一些基本的命令行指令是非常重要的,因为它们可以帮助你更高效地管理系统。在这篇博客中,我们将介绍一些在Debian系统中常用的指令及其功能。 …

13.1 QQ邮箱

1. 邮箱发送 2. 准备工作 3. 整合SpringBoot 3.1 配置 依赖引入 <!-- 邮件服务--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>application.…

不讲武德,能怼哭你的Chatgpt

这几天逛网站的时候突然发现个新玩意儿&#xff0c;叫做Chatgpt Onima&#xff0c;乍一看&#xff0c;哦原来是Chatgpt 但是&#xff0c;Onima是什么东东&#xff1f;它是我见过最狂的AI Onima 我礼貌的问了一句&#xff1a;你在干嘛&#xff1f; 结果它回复 不知这个攻击性…

Java基础,每日两问(5.3.2):重载和重写的区别

重载&#xff08;overloading&#xff09;和重写&#xff08;overriding&#xff09;是两个与方法相关的概念。它们的区别如下&#xff1a; 重载&#xff08;overloading&#xff09;同的是指在同一个类中定义多个方法&#xff0c;它们具有相名称但具有不同的参数列表。重载的…

containerd的原理及应用详解(二)

本系列文章简介&#xff1a; 随着容器技术的迅猛发展&#xff0c;容器运行时成为了关注的焦点之一。而容器运行时的核心组件之一就是containerd。containerd是一个高度可扩展的容器运行时&#xff0c;它负责管理容器的生命周期、镜像管理以及资源隔离等核心功能。它是由Docker团…

通义灵码:智能编码的革命性助手

通义灵码是由阿里云推出的一款基于通义大模型的智能编码辅助工具&#xff0c;它通过先进的人工智能技术&#xff0c;为开发者提供了一系列的智能编码功能&#xff0c;极大地提升了编码效率和质量。以下是通义灵码的一些核心功能和应用案例。 核心功能 代码智能生成 通义灵码…

你知道JSON.stringify()实现拷贝有什么问题吗?

在说 JSON.stringify() 深拷贝之前&#xff0c;我们先说一说深拷贝和浅拷贝的事情吧。 目录 1 为什么要做深拷贝&#xff1f; 2 哪些做法算浅拷贝&#xff1f; 2.1 直接变量赋值 2.2 Object.assign 浅拷贝 3 哪些做法算深拷贝 &#xff1f; 3.1 JSON.stringify() 3.2 …

SpringBoot实现图片上传(个人头像的修改)

SpringBootlayui实现个人信息头像的更改 该文章适合对SpringBoot&#xff0c;Thymeleaf&#xff0c;layui入门的小伙伴 废话不多说&#xff0c;直接上干货 Springbootlayui实现头像更换 前端公共部分代码 HTML页面代码 <div class"layui-card-header" style&quo…

20240502解决ARM32编译器编译quectel-CM时for循环出错的解决

20240502解决ARM32编译器编译quectel-CM时for循环出错的解决 2024/5/2 17:17 缘起&#xff1a;QMIThread.c:2100:9: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode 1、修改Makefile为ARM32架构&#xff1a; Z:\quectel-CM\Makefile ifneq ($…

基于SpringBoot+Vue的旅游网站系统

初衷 在后台收到很多私信是咨询毕业设计怎么做的&#xff1f;有没有好的毕业设计参考?能感觉到现在的毕业生和当时的我有着同样的问题&#xff0c;但是当时的我没有被骗&#xff0c;因为现在很多人是被骗的&#xff0c;还没有出学校还是社会经验少&#xff0c;容易相信别人。…

【算法设计与分析】实验报告c++python实现(TSP问题、哈夫曼编码问题、顾客安排问题、最小生成树问题、图着色问题)

一、实验目的 1&#xff0e;加深学生对贪心算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 用贪心算…

个人站点重启

Hexo项目在硬盘&#xff0c;换电脑后需要的配置 下载git 安装node.js https://www.nodejs.com.cn/download.html 安装hexo npm install -g hexo-cli npm install 安装依赖 hexo server 测试成功即可 github仓库项目在硬盘&#xff0c;换电脑后配置 git config -g user.name “…

docker 获取离线镜像包

docker 获取离线镜像包 1、问题背景2、问题分析 3、解决方法 1、问题背景 在内网服务器上因为不能访问互联网&#xff0c;不能使用docker pull命令拉取镜像包&#xff0c;怎么创建docker容器呢&#xff1f; 2、问题分析 在docker hub官网上没有提供下载镜像包的功能&#xf…

Spring基于AspectJ实现验签切点

文章目录 引言I AspectJ 依赖II 验签切点2.1 匹配方法执行的连接点2.2 设置带有CustomAnnotation注解的方法为切点III 案例:验签2.1 用法2.2 定义注解2.3 定义切面和切点引言 需求:验签 实现:基于AspectJ实现验签切点 I AspectJ 依赖 AspectJ 是一个基于 Java 语言的 AOP …

go稀疏数组

稀疏数组 稀疏数组 稀疏数组 package testimport ("encoding/json""fmt""io/ioutil""log""reflect""testing" )type ValNode struct {Row int json:"row"Col int json:"col"Val int json:&qu…