当前位置: 首页 > article >正文

如何将公钥正确添加到服务器的 authorized_keys 文件中以实现免密码 SSH 登录

在这里插入图片描述

1. 下载密钥文件

在这里插入图片描述

2. RSA 解析

id_ed25519 类型的私钥转换为 RSA 类型,要将 ED25519 私钥转换为 RSA 私钥,需要重新生成一个新的 RSA 密钥对。

步骤:

  1. 生成新的 RSA 密钥对
    使用 ssh-keygen 来生成一个新的 RSA 密钥对。比如,执行以下命令:

    ssh-keygen -t rsa -b 2048 -f "文件路径\<建议是服务器ip>_id_rsa"
    
    • -t rsa:表示生成 RSA 类型的密钥。
    • -b 2048:设置密钥的位数(2048 位是常用的安全长度,当然可以根据需要设置更高的位数,如 4096)。
    • -f:指定密钥文件的保存路径和文件名。
  2. 提供密码(可选)
    执行命令时,系统会询问你是否设置密码。你可以选择设置一个密码保护私钥,也可以留空不设置。

  • 这里不设置密码,一直回车就可以了
    在这里插入图片描述
  1. 使用新生成的 RSA 私钥
    完成后,你将在 E:\Archives\ssh_key\xxxxx\xxx_id_rsa 目录下找到新的 RSA 私钥文件。你可以使用它来进行 SSH 登录:
    在这里插入图片描述

    ssh -i "E:\Archives\ssh_key\xxxx\xxxx_id_rsa" user@server_ip
    

3. 把公钥传到服务器

在这里插入图片描述

  1. 登录到服务器
    使用 SSH 登录到你的服务器:

  2. 确认 ~/.ssh/ 目录存在
    确保用户目录下有 .ssh 目录。如果没有,创建它:

    mkdir -p ~/.ssh
    
  3. 将公钥内容追加到 authorized_keys 文件
    假设 xxxx_id_rsa.pub 文件已经存在于 /www/wwwroot/ 目录下,你可以将它的内容追加到 ~/.ssh/authorized_keys 文件中:

    cat /www/wwwroot/xxx_id_rsa.pub >> ~/.ssh/authorized_keys
    

    这会把公钥文件的内容添加到 authorized_keys 文件中。注意不要覆盖文件中的其他内容,确保每个公钥占一行。

  4. 设置正确的权限
    确保 .ssh 目录和 authorized_keys 文件具有正确的权限:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  5. 验证公钥是否添加成功
    可以查看 authorized_keys 文件,确认公钥是否正确添加:

    cat ~/.ssh/authorized_keys
    
  6. 测试 SSH 登录
    使用对应的私钥进行 SSH 登录,确保一切设置正确:

    ssh -i /path/to/xxxx_id_rsa user@your_server_ip
    

总结:

这样,你就完成了将公钥添加到 authorized_keys 文件的操作,现在你应该能够使用对应的私钥进行免密码登录。

相关文章:

如何将公钥正确添加到服务器的 authorized_keys 文件中以实现免密码 SSH 登录

1. 下载密钥文件 2. RSA 解析 将 id_ed25519 类型的私钥转换为 RSA 类型&#xff0c;要将 ED25519 私钥转换为 RSA 私钥&#xff0c;需要重新生成一个新的 RSA 密钥对。 步骤&#xff1a; 生成新的 RSA 密钥对 使用 ssh-keygen 来生成一个新的 RSA 密钥对。比如&#xff0c;执…...

深入理解设计模式之解释器模式

深入理解设计模式之解释器模式 在软件开发的复杂世界中,我们常常会遇到需要处理特定领域语言的情况。比如在开发一个计算器程序时,需要解析和计算数学表达式;在实现正则表达式功能时,要解析用户输入的正则表达式来匹配文本。这些场景都涉及到对特定语言的解释和执行,而解…...

【WebGL】attribute方式实例化绘制

背景 一般有attribute和uniform两种方式进行实例化绘制 attribute方式实例化 这里需要注意 bufferData和bufferSubData方式的用法顺序和参数 gl.bufferData(target, sizeOrData, usage); sizeOrData&#xff08;实例化配合bufferSubData 更新数据一般使用这种先&#xff09…...

线代[8]|北大丘维声教授《怎样学习线性代数?》(红色字体为博主注释)

文章目录 说明一、线性代数的内容简介二、学习线性代数的用处三、线性代数的特点四、学习线性代数的方法五、更新时间记录 说明 文章中红色字体为博主敲录完丘教授这篇文章后所加&#xff0c;刷到这篇文章的读者在首次阅读应当跳过红色字体&#xff0c;先通读一读文章全文&…...

光明谷推出AT指令版本的蓝牙音箱SOC 开启便捷智能音频开发新体验

前言 在蓝牙音箱市场竞争日益激烈的当下&#xff0c;开发一款性能卓越且易于上手的蓝牙音箱&#xff0c;成为众多厂商追求的目标。而光明谷科技有限公司推出的 AT 指令版本的蓝牙音箱 SOC&#xff0c;无疑为行业带来了全新的解决方案&#xff0c;以其诸多独特卖点&#xff0c;迅…...

C#从入门到精通(34)—如何防止winform程序被同时打开多次

前言&#xff1a; 大家好&#xff0c;我是上位机马工&#xff0c;硕士毕业4年年入40万&#xff0c;目前在一家自动化公司担任软件经理&#xff0c;从事C#上位机软件开发8年以上&#xff01;我们在开发上位机软件的过程中&#xff0c;评判一个人软件写的好不好&#xff0c;有一…...

TIP: Flex-DLD

Article: Flex-DLD: Deep Low-Rank Decomposition Model With Flexible Priors for Hyperspectral Image Denoising and Restoration, 2024 TIP. 文章的主要思想是用network来学low-rank decomposition的两个matrix&#xff08;input是random input&#xff09;. 文章的framew…...

如何在 ubuntu 上使用 Clash 与 docker 开启代理拉起

如何在 ubuntu 上使用 Clash https://github.com/doreamon-design/clash/releases上面是clash 的地址 clash_2.0.24_linux_386.tar.gz 下载 386 的 如果你的电脑是inter tar -xzvf clash_2.0.24_linux_386.tar.gz 启动 ./clash 然后会在电脑上生成一个config的文件 /home/xxx/…...

MFC开发:如何创建第一个MFC应用程序

文章目录 一、概述二、MFC 的主要组件三、创建一个MFC窗口四、控件绑定消息函数 一、概述 MFC 是微软提供的一个 C 类库&#xff0c;用于简化 Windows 应用程序的开发。它封装了 Windows API&#xff0c;提供面向对象的接口&#xff0c;帮助开发者更高效地创建图形用户界面&am…...

react hook useReducer

useReducer useReducer 是 React 中用于状态管理的 Hook&#xff0c;与 useState 不同&#xff0c;它更适合处理复杂的状态逻辑. const [state, dispatch] useReducer(reducer, initialArg, init?) reducer 是一个处理函数&#xff0c;用于更新状态, reducer 里面包含了两个…...

Java与C语言中取模运算符%的区别对比

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: Java 文章目录 &#x1f4af;前言&#x1f4af;C语言中的取模运算符 %基本行为示例 注意事项示例&#xff1a;负数取模 &#x1f4af;Java中的取模运算符 %基本行为示例 对浮点数的支持示例&#xff1a;浮点数取模 符…...

Zabbix 7.2实操指南:基于OpenEuler系统安装Zabbix 7.2

原文出处&#xff1a;乐维社区 部署环境 openEuler 22.03 LTS PHP 8.0 Apache Mysql 8.0 MySQL数据库 6.0 以上版本需要安装mysql8.0以上版本的数据库&#xff08;以mysql为例子&#xff09;。 欧拉系统自带 mysql8.0 的源&#xff0c;无需要安装额外的源。 安装mysql …...

Springboot的简单推荐实现

以springboot 推荐社团招新为例子 使用 Spring Boot 构建社团招新推荐系统&#xff0c;用户注册后选择兴趣&#xff0c;系统根据兴趣推荐社团。 实现包括用户注册、兴趣选择和基于标签匹配的推荐算法。 系统使用 JPA 管理数据库&#xff0c;Spring Security 确保安全&#xff0…...

如何使用Python快速开发一个带管理系统界面的网站-解析方案

如果你想用 Python 开发一个 管理系统界面 的网站&#xff0c;并且希望界面美观&#xff0c;可以考虑以下几个框架和库&#xff1a; 1. Streamlit&#xff08;快速、简洁&#xff09; 适合&#xff1a;数据分析、仪表盘、内部管理系统特点&#xff1a; 写法简单&#xff0c;类…...

深入剖析抽象工厂模式:设计模式中的架构利器

深入剖析抽象工厂模式&#xff1a;设计模式中的架构利器 在软件开发领域&#xff0c;设计模式是解决常见问题的通用方案&#xff0c;而抽象工厂模式作为创建型设计模式的重要一员&#xff0c;在构建复杂软件系统时发挥着关键作用。它为创建一系列相关或相互依赖的对象提供了一…...

面试基础-如何设计一个短链接系统

设计一个每秒处理 100 万个请求&#xff08;WQPS&#xff09;的短链系统需要综合考虑性能、可用性和可扩展性。以下是设计方案&#xff1a; 1. 系统架构设计 采用微服务架构&#xff0c;将功能模块化&#xff0c;便于水平扩展和故障隔离。 核心组件&#xff1a; 短链生成服务…...

Win11 24h2 不能正常使用ensp的问题(已解决)

因为Win11 24h2的内核大小更改&#xff0c;目前virtualbox在7.1.4中更新解决了。所以Win11 24H2系统版本无法使用 5.x.xx的virtualbox版本&#xff0c;virtualbox对于这个5.x.xx版本早已停止维护&#xff0c;所以这个以后不会有调整。 对应的报错代码是 virtualbox错误代码&…...

蓝桥杯——按键

一&#xff1a;按键得原理图 二&#xff1a;按键的代码配置 step1 按键原理图对应引脚配置为输入状态 step2 在GPIO中将对应引脚设置为上拉模式 step3 在fun.c中写按键扫描函数 写完后的扫描函数需放在主函数中不断扫描 扫描函数主要通过两个定义变量的值来判断&#xf…...

Linux环境基础开发工具的使用(三)

五、Linux项目自动化构建工具-make/Makefile make&#xff1a;是一条指令。 makefile&#xff1a;是一个当前目录下的文件。 第一行&#xff1a;依赖关系。 第二行&#xff1a;依赖方法。 clean是空依赖关系。 编译文件清理 背景 会不会写makefile&#xff0c;从一个侧面说…...

vue中将el-table导出为excel文件

在 Vue Element UI 中&#xff0c;el-table 数据导出 Excel 文件&#xff0c;可以使用 xlsx&#xff08;SheetJS&#xff09;库进行处理。以下是详细的实现方法&#xff0c;包括安装依赖、代码示例和优化建议。 1. 安装依赖 首先&#xff0c;安装 xlsx 库&#xff1a; 复制…...

electron提升软件运行权限,以管理员权限运行

大家有任何想法&#xff0c;都可以联系博主沟通。 本系列为实战文章&#xff0c;最终实现的桌面工具软件&#xff0c;获取方式&#xff1a;百度网盘地址&#xff1a;https://pan.baidu.com/s/1yrl0jYpti7QCn8CHBRT2lw?pwd1234 正文开始 前言一、提升electron运行权限的三种方…...

力扣LeetCode: 2506 统计相似字符串对的数目

题目&#xff1a; 给你一个下标从 0 开始的字符串数组 words 。 如果两个字符串由相同的字符组成&#xff0c;则认为这两个字符串 相似 。 例如&#xff0c;"abca" 和 "cba" 相似&#xff0c;因为它们都由字符 a、b、c 组成。然而&#xff0c;"aba…...

安科瑞能源物联网平台助力企业实现绿色低碳转型

安科瑞顾强 随着全球能源结构的转型和“双碳”目标的推进&#xff0c;能源管理正朝着智能化、数字化的方向快速发展。安科瑞电气股份有限公司推出的微电网智慧能源管理平台&#xff08;EMS 3.0&#xff09;&#xff0c;正是这一趋势下的创新解决方案。该平台集成了物联网&…...

Spring Boot 中使用 @Transactional 注解配置事务管理

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务&#xff1b;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污…...

动态链接器(九):.init和.init_array

ELF文件中的.init和.init_array段是程序初始化阶段的重要组成部分&#xff0c;用于在main函数执行前完成必要的初始化操作。 1 .init段和.init_array 段 1.1 作用 .init段包含编译器生成的初始化代码&#xff0c;通常由运行时环境&#xff08;如C标准库的启动例程&#xff0…...

标准I/O与文件I/O

一、概念 标准IO&#xff1a;标准IO是指程序与标准输入&#xff08;stdin&#xff09;、标准输出&#xff08;stdout&#xff09;和标准错误&#xff08;stderr&#xff09;之间的输入输出操作。通常用于与用户交互或输出调试信息。文件IO&#xff1a;文件IO是指程序与文件系统…...

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter20-JavaScript API

二十、JavaScript API JavaScript API 随着 Web 浏览器能力的增加&#xff0c;其复杂性也在迅速增加。从很多方面看&#xff0c;现代 Web 浏览器已经成为构建于诸多规范之上、集不同 API 于一身的“瑞士军刀”。浏览器规范的生态在某种程度上是混乱而无序的。一些规范如 HTML5&…...

C#初级教程(7)——初级期末检测

练习 1&#xff1a;计算圆的周长和面积 改编题目&#xff1a;编写一个 C# 程序&#xff0c;让用户输入圆的半径&#xff0c;然后计算并输出该圆的周长和面积&#xff0c;结果保留两位小数。 using System;class CircleCalculation {static void Main(){const double pi 3.14…...

RT-Thread+STM32L475VET6——TF 卡文件系统

文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行USB配置1.1 使用外部高速时钟&#xff0c;并修改时钟树1.2 打开SPI1&#xff0c;参数默认即可(SPI根据自己需求调整&#xff09;1.3 打开串口&#xff0c;参数默认1.4 生成工程 2.配置SPI2.1 打开SPI驱动2.2 声明使用SPI…...

排序链表--字节跳动

少年的书桌上没有虚度的光阴 题目描述 请你对链表进行排序 思路分析 核心思想&#xff1a;归并排序 有三个部分 链表排序实现 1. merge 函数 21.见 合并两个有序链表&#xff0c; 首先创建一个虚拟头节点 newhead&#xff0c;并使用指针 tail 来构建合并后的链表。 通过…...