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

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: 输入&#xff1a…...

嵌入式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 程序的虚拟验证和…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

反射获取方法和属性

Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...