Linux服务器配置ssh证书登录
1、ssh证书登录介绍
Linux服务器ssh登录有密码登录和证书登录两种。如果使用密码登录,容易遭受密码泄露或者暴力破解,我们可以使用ssh证书登录并禁止使用密码登录,ssh证书登录通过公钥和私钥来完成整个连接过程,公钥保存在服务器上,私钥保存在本地。
2、证书登录步骤
客户端生成证书:包含私钥和公钥,私钥放在客户端,妥当保存,一般为了防止他人拷贝,会给私钥设置一个密码,以后每次登录ssh服务器时,客户端都要输入密码解开私钥;
服务器添加公钥:把客户端生成的公钥,上传到ssh服务器,添加到指定的文件中;
配置ssh服务,开启ssh证书登录功能;
ssh客户端添加私钥,即可使用该私钥登录到服务器。
3、创建证书
3.1、使用Xshell创建证书
打开Xshell,点击“工具”→“新建用户密钥生成向导”。

点击 “下一步”

输入密钥名称和密码,点击“下一步”。

输入密钥名称和密码,点击“下一步”。

点击“另存为文件”,保存公钥,记录公钥的位置,稍后会用。

点击“导出”,导出私钥文件。

输入私钥的密码,点击“确定”。

3.2、使用secureCRT创建证书
打开secureCRT,点击“工具”→“创建公钥”。

点击“下一页”。

输入私钥的密码和名称

点击“下一页”。

设置私钥保存文件名和路径,记录位置,稍后要用,点击“完成”。

点击“是”。

3.3、使用PuTTY创建证书
打开开始菜单,打开密钥生成工具“PuTTYgen”。

点击“Generate”,生成“证书文件”,期间请在空白处不断移动鼠标。

输入私钥名称和密码,分别点击“Save Public key”和“Save pricate key”,保存公钥文件和私钥文件,记录位置,稍后要用。

4、配置证书登录
使用用户名和密码正常登录到Linux系统,在用户目录(如/root)下输入

创建文件authorized_keys。
在键盘上按Insert,并用记事本打开第1节生成的公钥文件,全选公钥文件的内容,粘贴到会话中,然后按键盘Esc键,输入:wq,回车,保存文件。

编辑ssh配置文件,请运行:
vim /etc/ssh/sshd_config
打开sshd_config文件编辑界面,找到“PubkeyAuthentication yes”,删除前面的#。

公钥路径设为 (即默认值,不用修改)。

找到 PasswordAuthentication,右边改成no。

保存文件。
执行重启ssh服务命令:
service sshd restart
5、使用证书登录
5.1、使用Xshell登录
新建会话或者打开已保存的会话。

在SSH用户身份验证可看到密码输入文本框为灰色,无法输入,只能使用证书登录。
选择已保存的用户密钥,如果没有保存,请导入私钥,点击“浏览”→“用户密钥”。

点击“导入“。

选择私钥文件,点击打开,输入私钥文件的密码,点击确定。

选中已导入的用户密钥,点击确定。

再次输入私钥密码,点击确定。

成功登录到服务器。

5.2、使用secureCRT登录
新建会话或者选择已保存的会话。

右键会话,点击“属性“。

选中SSH2-身份验证-PublicKey,点击“属性”。

在身份或证书文件右边点击“…”,选择私钥文件。

点击“确定”。

双击需要登录的服务器,输入私钥的密码,点击“确定”。

即可正常登录服务器。

5.3、使用PuTTY登录
首先我们要打开PuTTYgen,转换私钥为PuTTY专用文件(.ppk)。
点击“Load“。

找到私钥文件,打开,输入私钥的密码,点击“OK”。

点击“确定”。

点击“Save private key”,保存PuTTY专用私钥文件。

打开PuTTY,输入服务器的IP地址。

在Connection→SSH→Auth下,点击“Browse…”,导入私钥文件。

点击“Open”,输入用户名,即可成功登录到服务器”。

6、FAQ
Q:一个证书可以在多台服务器上共用吗?
A:可以!按照本操作指南将生成的公钥部署到不同服务器上,使用同一个私钥可以登录。
Q:PuTTY生成的私钥为专用格式(.ppk),如何导入到Xshell、SecureCRT等其他ssh工具?
A:请打开PuTTYgen,并按照视频教程步骤进行私钥转换,转成pem格式(即教程中使用Xshell和SecureCRT生成的私钥格式),然后将转换后的文件导入到Xshell、SecureCRT等ssh工具即可。具体操作步骤详见视频末尾。
Q:证书误删除/丢失怎么办?
A:如果您使用物理服务器,请在服务器接上显示器;如果您使用云服务器,请登录管理平台,进入vnc控制台,正常使用用户名和密码登录,恢复启用密码登录功能后,再从头开始按照教程制作新证书,并上传到服务器。
如果还不会的请观看视频指南:点击跳转视频讲解
相关文章:
Linux服务器配置ssh证书登录
1、ssh证书登录介绍 Linux服务器ssh登录有密码登录和证书登录两种。如果使用密码登录,容易遭受密码泄露或者暴力破解,我们可以使用ssh证书登录并禁止使用密码登录,ssh证书登录通过公钥和私钥来完成整个连接过程,公钥保存在服务器…...
端口扫描利器--nmap
目录 普通扫描 几种指定目标的方法 TCP/UDP扫描 端口服务扫描 综合扫描 普通扫描 基于端口连接并响应(真实) nmap -sn 网段(0/24)-sn 几种指定目标的方法 单个IP扫描 IP范围扫描 扫描文件里的IP 扫描网段,(排除某IP) 扫描网段(排除某清单IP) TCP/UDP扫描 -sS …...
React基础知识笔记
Reat简介 React:用于构建用户界面的 JavaScript 库。由 Facebook 开发且开源。是一个将视图渲染为html视图的开源库 第一章:React入门 相关js库 react.development.js :React 核心库react-dom.development.js :提供 DOM 操作的…...
筛选的艺术:数组元素的精确提取
新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、筛选的基本概念 二、筛选的实际应用案例 1. 筛选能被三整除的元素 2. 筛选小于特定值…...
SQLServer2022新特性JSON_PATH_EXISTS测试输入 JSON 字符串中是否存在指定的 SQL/JSON 路径
SQLServer2022新特性JSON_PATH_EXISTS测试输入 JSON 字符串中是否存在指定的 SQL/JSON 路径 参考官方文档 https://learn.microsoft.com/en-us/sql/t-sql/functions/json-path-exists-transact-sql?viewsql-server-ver16 1、本文内容 语法参数返回值示例相关内容 适用于&a…...
力扣:104. 二叉树的最大深度
104. 二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入:…...
嵌入式0基础开始学习 ⅠC语言(3)分支结构
C语言程序设计结构 分三种 顺序结构: 一条一条指令执行。 int a,b; a 3; b 4; 分支结构(选择结构):…...
设计模式21——命令模式
写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 命令模式(Command&…...
虚拟机报错:VMX 进程已提前退出。VMware Workstation 无法连接到虚拟机。
解决报错:VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。 VMX 进程已提前退出。 解决方案:右键桌面图标进入VMware Workstation Pro的属性设置,兼容性–勾选“以管理员…...
P2341 受欢迎的牛
题目描述 每一头牛的愿望就是变成一头最受欢迎的牛。现在有 N 头牛,给你 M 对整数,表示牛 A 认为牛 B 受欢迎。这种关系是具有传递性的,如果 A 认为 B 受欢迎,B 认为 C 受欢迎,那么牛 A 也认为牛 C 受欢迎。你的任务是…...
Linux系统编程(五)多线程
目录 一、基本知识点二、线程的编译三、 线程相关函数1. 线程的创建2. 线程的退出3. 线程的等待补充 四、综合举例 一、基本知识点 线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个标准…...
HTTP Basic Access Authentication Schema
HTTP Basic Access Authentication Schema 背景介绍流程安全缺陷参考 背景 本文内容大多基于网上其他参考文章及资料整理后所得,并非原创,目的是为了需要时方便查看。 介绍 HTTP Basic Access Authentication Schema,HTTP 基本访问认证模式…...
#职场发展#其他
一闪论文是目前市场上一款非常靠谱的论文写作工具,不仅可以帮助用户快速完成论文撰写,还能对文章进行查重降重,确保内容原创性。从用户的角度来看,一闪论文确实是一个非常方便、实用的工具,能够大大提高写作效率&#…...
【Text2SQL 论文】评估 ChatGPT 的 zero-shot Text2SQL 能力
论文:A comprehensive evaluation of ChatGPT’s zero-shot Text-to-SQL capability ⭐⭐⭐⭐ arXiv:2303.13547 这篇论文呢综合评估了 ChatGPT 在 zero-shot Text2SQL 任务上的表现。 dataset 使用了 Spider、Spider-SYN、Spider-DK、Spider-Realistic、Spider-CG…...
安卓手机APP开发___设置闹钟
安卓手机APP开发___设置闹钟 目录 概述 设置不精确闹钟 在特定时间后发出闹钟 在特定时间范围内触发闹钟 以大致有规律的时间间隔响起重复闹钟 设置精确的闹钟 系统会在未来的某个精确时刻调用精确闹钟。 可能不需要精确闹钟的用例 设置精确闹钟的方法 系统资源消耗…...
如何评价GPT-4o
目录 1.概述 2.对比分析 2.1.版本 2.2.区别 2.2.1.技术方面的差异 2.2.2.性能提升 2.2.3.应用领域扩展 2.2.4.对未来发展的影响 3.技术能力 4.个人感受 1.概述 GPT-4o的发布无疑是人工智能领域的一次重要进展。作为GPT-4的升级版本,GPT-4o不仅在处理速度…...
自定义窗口事件循环系统
1.定义事件类型,mouse,wheel,drag,view。已处理的事件,accept需设置为true,防止重叠热区继续穿透。记录事件生成时间,全局位置和当前帧窗口下位置。 2.定义事件响应系统interactionSystem&…...
随机森林算法教程(个人总结)
背景 随机森林(Random Forest)是一种集成学习方法,主要用于分类和回归任务。它通过构建多个决策树并将其结果进行集成,提升模型的准确性和鲁棒性。随机森林在处理高维数据和防止过拟合方面表现出色,是一种强大的机器学…...
解决Android studio 一直提示下载gradle-xxx-all.zip问题
今天用AndroidStdiod打开一个新工程的时候,发现项目一直卡在正在下载gradle-xxx-all.zip的任务上,网络出奇的慢,即使配了VPN也无济于事,于是按照以往经验:将gradle-xxx-all.zip下载到.gradle\gradle\wrapper\dists目录…...
3DEXPERIENCE DELMIA Role: RVN - Robotics Virtual Commissioning Analyst
Discipline: Robotics Role: RVN - Robotics Virtual Commissioning Analyst 通过准确地模拟连接到PLC程序的机器人、设备和传感器,在制造虚拟孪生上执行虚拟调试情景 为任何机器人角色的多周期情景创建传感器,生成和变换零件启用 PLC 程序的虚拟验证和…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
