ssh私钥文件登录问题:Load key invalid format

问题

在mac上面使用私钥文件登录时候,出现了如下错误:
加载私钥文件错误

Load key “xxx.pem”: invalid format

但是,这个私钥文件在win上面能够正常使用ssh进行远程登录。在mac上面不能。而且,分别在win和mac上面分别查看了这两个私钥文件的md5值,都是一样的。但是,在mac上面就会报无效格式错误。

原因

在换行百科查看如下内容:

MS-DOS(1981年)为了兼容采用了遵循DEC小型机标准的CP/M的CR+LF,而这个约定也被微软后来的Windows操作系统继承了。

1964年开始开发的Multics操作系统使用单独的LF作为换行符。Multics使用设备驱动程序将LF字符转换为打印机所需的任何字符序列(包括额外的填充字符),且单字节更便于编程。CR字符提供了将一行与另一行叠印以创建粗体、下划线和删除线效果的有用功能。单独使用LF作为行终止符已经被纳入最终的ISO/IEC 646标准草案中。Unix遵循了Multics的做法,后来类Unix系统也遵循了Unix。 这在Windows和类Unix操作系统之间造成了冲突,在一个操作系统上编写的文件无法正确格式化或由另一个操作系统解释。

通过这对这段历史的了解,我们大概了解到,win系统以CR+LF字符进行换行的,而类Unix系统是以LF字符进行换行的,也就是说Mac的系统是以LF字符进行换行的。

解决

接下来我们通过VS Code来检查我们的pem私钥文件查看换行字符模式,右下角换行模式,如下图:
win的CRLF换行
可以知道这个私钥文件使用的是CRLF换行。如果用这个文件在mac上面使用ssh私钥文件远程登录,这会出现问题:

invalid format

这里只需要修改CRLF换行格式为LF字符换行即可。然后,再次尝试登录即可。

测试

测试验证

总结

对mac和win的换行区别又加深了。

参考

  • 换行
  • github使用ssh密钥访问出现error in libcrypto等问题

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

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

相关文章

AI战略群与星际之门:软银AI投资版图计划深度解析

一、星际之门:万亿美元级 AI 基础设施革命 1.1 项目背景与战略定位 在 AI 技术迅猛发展的今天,算力已成为推动其前进的核心动力。软银联合 OpenAI、甲骨文、英伟达、微软、arm推出的 “星际之门”(Stargate)计划,无疑是 AI 领域的一颗重磅炸弹。作为 AI 领域史上最大单笔…

教务系统ER图

实体 1. 学生:具有姓名、学号、性别、系编号、电话、出生年月等属性。学号通常是学生的唯一标识。 2. 课程:包含课程编号、课程名称、课程学分、课程学时等属性。课程编号一般用于唯一标识一门课程。 3. 教师:属性有教师编号、教师名字、性别…

大数据(4.4)Hive多表JOIN终极指南:7大关联类型与性能优化实战解析

目录 背景一、Hive JOIN类型与语法详解1. 基础JOIN类型2. 高级JOIN类型 二、JOIN实战案例与调优案例1:两表内连接(订单与用户关联)案例2:多表链式JOIN(用户-订单-商品)案例3:处理数据倾斜&#…

【28BYJ-48】STM32同时驱动4个步进电机,支持调速与正反转

资料下载:待更新。。。。 先驱动起来再说,干中学!!! 1、实现功能 STM32同时驱动4个步进电机,支持单独调速与正反转控制 需要资源:16个任意IO口1ms定时器中断 目录 资料下载:待更…

[Lc6_记忆化搜索] 不同路径 | 解决智力问题 | 有序三元组中的最大值

目录 1.不同路径 题解 2140. 解决智力问题 题解 2873. 有序三元组中的最大值 题解 1.不同路径 链接:62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步…

软件重构与项目进度的矛盾如何解决

软件重构与项目进度之间的矛盾可以通过明确重构目标与范围、采用渐进式重构策略、优化项目管理流程、提高团队沟通效率、建立重构意识文化等方式解决。其中,采用渐进式重构策略尤为关键。渐进式重构是指在日常开发过程中,以小步骤持续进行重构&#xff0…

多台服务器上docker部署 Redis 集群

规划集群节点 确保你的服务器有固定 IP,比如: 172.16.17.100 172.16.17.101 172.16.17.102 每台服务器运行 2 个 Redis 节点,总共 6 个节点,满足 Redis Cluster 最小节点数要求。 2. 在每台服务器上运行 Redis 在每台服务器上执行…

【Pandas】pandas DataFrame dtypes

Pandas2.2 DataFrame Attributes and underlying data 方法描述DataFrame.index用于获取 DataFrame 的行索引DataFrame.columns用于获取 DataFrame 的列标签DataFrame.dtypes用于获取 DataFrame 中每一列的数据类型 pandas.DataFrame.dtypes pandas.DataFrame.dtypes 属性用…

如何实现局域网内无痛访问Jupyter Notebook?

Jupyter Notebook是数据科学和机器学习领域非常常用的交互式开发环境。默认情况下,Jupyter Notebook启动后只能本地访问,并且会自动生成一个token用于身份验证。当需要从其他电脑远程访问时,往往需要对配置进行修改。 本文将详细介绍如何通过…

[Windows] eDiary 4.3.6 日记软件

[Windows] eDiary 链接:https://pan.xunlei.com/s/VOMq6xmKTbEJtNaW-BXZ7KKSA1?pwdcrvu# 【应用功能】 加密 无论本地还是云端,都可以选择高强度加密。系统以用户密码为种子,对数据进行…

掌握 Flexbox 布局:为容器添加竖向滚动条的完美方案

掌握 Flexbox 布局:为容器添加竖向滚动条的完美方案 前言 在现代网页设计中,Flexbox 布局因其灵活性和强大的对齐功能而备受欢迎。然而,在实际开发过程中,我们有时会遇到需要在一个具有最小高度的 Flex 容器中实现内容溢出时显示…

Node.js v22.14.0 多平台安装指南:Windows、Linux 和 macOS 详细教程

Node.js作为现代Web开发的基石,持续为开发者带来性能提升和新特性支持。本文将详细介绍在Windows、macOS和Linux系统上安装最新Node.js的多种方法,助您快速搭建高效的JavaScript开发环境。 📦 当前最新版本 截至2025年4月,Node.…

动态规划学习——回文子串系列问题【C++】

一,回文子串 题目链接:LCR 020. 回文子串 - 力扣(LeetCode) 【问题描述】 求一个字符串中有多少个回文子串,其中一个字符也算是一个回文子串。 【解法】 动态规划 求一个字符串中回文子串的个数,我么可…

My first day in QT programming

My first QT code this->setWindowTitle("HelloWorld"); //设置窗口名称 this->resize(400, 300); //设置窗口大小 QPushButton* btn new QPushButton; //新建按钮组件 btn->setParent(this); //为按钮指定父对象 …

基于python开发的邮箱合并群发工具

智能邮件群发系统 一个基于Python和PyQt5开发的智能邮件群发工具,支持Word模板和Excel数据源的自动匹配,具有现代化UI界面和友好的用户体验。 Github项目地址:https://github.com/liugang926/Auto-mail-sent.git dist目录有编译好的exe程序&…

大模型-提示词(Prompt)技巧

1、什么是提示词? 提示词(Prompt)是用户发送给大语言模型的问题、指令或请求,用来明确地告诉模型用户想要解决的问题或完成的任务,是大语言模型理解用户需求并据此生成相关、准确回答或内容的基础。对于大语言模型来说…

Android开发:support.v4包与AndroidX

Android中的support.v4包与AndroidX support.v4包概述 Android Support Library中的android.support.v4包是Google为保持Android应用向后兼容而提供的重要支持库集合。它主要解决以下问题: API版本兼容:让新版API能在旧版Android系统上使用功能增强&a…

TCP-IP模型

书接上回(OSI通信模型) TCP-IP协议结构 (略讲) ARP:IP-->MAC RARP:MAC-->IP ICMP:控制报文信息协议,主要是涉及到主机就去连接路由器时控制传输报文&#xff08…

雪花算法生成的主键存在哪些问题,为什么不能使用自增ID或者UUID做MySQL的主键

MySQL 分布式架构中的主键选择:自增ID、UUID与雪花算法 为什么MySQL分布式架构中不能使用自增主键? 在分布式架构中,自增主键存在以下问题: 主键冲突风险:多个数据库实例同时生成自增主键会导致ID重复分片不均匀&am…

RapidJSON 处理 JSON(高性能 C++ 库)(四)

第四部分:RapidJSON 处理 JSON(高性能 C++ 库) 📢 快速掌握 JSON!文章 + 视频双管齐下 🚀 如果你觉得阅读文章太慢,或者更喜欢 边看边学 的方式,不妨直接观看我录制的 RapidJSON 课程视频!🎬 视频里会用更直观的方式讲解 RapidJSON 的核心概念、实战技巧,并配有…