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控制台,正常使用用户名和密码登录,恢复启用密码登录功能后,再从头开始按照教程制作新证书,并上传到服务器。

如果还不会的请观看视频指南:点击跳转视频讲解

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

君正X2100 RTOS 修改UVC友好名称

修改UVC友好名称 SDK中默认的名称为"UVC Camera"。 相关文件f_uvc.c,具体内容: static struct usb_string uvc_en_us_strings[] {[UVC_STRING_CONTROL_IDX].s "UVC Camera",[UVC_STRING_STREAMING_IDX].s "Video Streamin…

埃文科技携数据要素产品亮相第七届数字中国建设峰会

第七届数字中国建设峰会(以下简称“峰会”)于2024年5月24日至25日在福建省福州市举办。此次峰会是国家数据工作体系优化调整后举办的首次数字中国建设峰会。本届峰会由国家发展改革委、国家数据局、国家网信办、科技部、国务院国资委、福建省人民政府共同…

fyne表单布局

fyne表单布局 layout.FormLayout就像一个 2 列网格布局 。 package mainimport ("image/color""fyne.io/fyne/v2/app""fyne.io/fyne/v2/canvas""fyne.io/fyne/v2/container""fyne.io/fyne/v2/layout" )func main() {myApp…

幼儿园老师投稿渠道

幼儿园老师投稿通常指的是教师为了分享自己的教学经验、教育活动设计、儿童发展研究等内容,向专业杂志、教育平台或在线论坛提交文章或资料的过程。以下是一些关于幼儿园老师投稿的步骤和建议: 一、准备工作 选择合适的平台 研究不同平台的读者群体&a…

javaee---IO代码练习

实现一个小程序要求: 扫描指定目录,并找到名称中包含指定字符的所有普通文件(不包含目录),并且要求询问用户是否要删除这个文件 代码示例 public static void main(String[] args) {//1.先让用户指定一个要扫描的目录Scanner scanner new Scanner(System.in);System.out.pri…

ubuntu安全加固

知识背景: 项目背景: 常用命令: useradd: adduser: getent passwd: getent group: id username: adduser newname sudo: 修改shell为/bin/bash 新用户默认为/bin/sh,可以通过echo $SHELL查询,默认不能使用TAB…

Linux系统之touch命令的基本使用

Linux系统之touch命令的基本使用 一、touch命令介绍1. touch命令简介2. touch命令作用 二、touch命令帮助1. touch命令的帮助信息2. touch命令的选项解释 三、touch命令的基本使用1. 查看touch工具版本2. 创建空文件3.查看空文件属性4. 修改文件时间戳5. 文件不存在时不创建 四…

剪画小程序:”霸屏各大平台“的黏土滤镜是怎么制作的呢?

最近,网上出现大量“黏土”风格的人物照片。尤其是在社交平台,这类型的分享数量急剧上升。 这是马斯克开车的样子 还有这张是周杰伦七里香的专辑图片 一张照片,十几秒钟,就能还原出你在黏土世界的样子。 以上这些照片是用-【剪画…

B站尚硅谷git学习记录

文章目录 一、Git概述1.何为版本控制2.为什么需要版本控制3.版本控制工具 二、Git常用命令1.设置用户签名1.1 基本语法1.2 案例实操 2.初始化本地库2.1 基本语法2.2 案例实操 3.查看本地库状态3.1基本语法3.2 案例实操(1)首次查看(工作区没有…

共筑信创新生态:DolphinDB 与移动云 BC-Linux 完成兼容互认

近日,DolphinDB 数据库软件 V2.0 与中国移动通信集团公司的移动云天元操作系统 BC-Linux 完成兼容性适配认证。经过双方共同严格测试,DolphinDB 性能及稳定性等各项指标表现优异,满足功能及兼容性测试要求。 此次 DolphinDB 成功通过移动云 B…

Linux——Linux服务管理

服务管理大作业要求: 基本拓扑如下: 按照要求完成基本的系统管理任务: 完成所有系统的主机名、网络配置; 本次作业共需要3台虚拟机,分别作为客户端、综合应用服务器、存储服务器。三台虚拟机操作系统均为CentOS-Stream…

文件IO(一)

文件IO(一) 文件IO文件的分类在文件IO下,文件分类按存储的内容分按照操作分 标准IO和文件IO的区别系统调用和库函数的区别 文件IO 把程序暂存在内存的数据,存储到本地外存上 文件的分类 在Linux系统下,文件共分为7类…

基于 RNNs 对 IMDB 电影评论进行情感分类

前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对…

效果炸裂!使用 GPT-4o 快速实现LLM OS

使用 GPT-4o 快速实现LLM OS 什么是 LLM OS?LLM OS 主要有以下5个部分组成: LLM OS 开源实现运行 LLM OS 开源实现 什么是 LLM OS? 关于 LLM OS 的最初构想源自karpathy 在2023年11月11日发布的一条Twitter 动态,这是 LLM OS 概念…

git工作流程

以财务开发为例子: 1. 新建分支 1.1. upstream新建分支:finance-feature 1.2. origin新建对应分支:finance-feature 1.3 新建本地分支 git branch finance-feature 注: 同步远程分支:git fetch upstream feature…

YonBuilder移动开发基础教程——云修复

1 使用场景 在项目开发中,我们经常会遇到一种场景,对于一些已经上架应用市场对外发布的应用,我们需要修改其中部分页面的部分内容样式或功能逻辑,通常的做法是我们修改后,重新编译一个新的版本,然后提交应…

【NumPy】使用NumPy计算相关系数:详解numpy.corrcoef函数及应用

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

Linux--构建进程池

目录 1.进程池 1.1.我们先完成第一步,创建子进程和信道 1.2. 通过channel控制,发送任务 1.3回收管道和子进程 1.4进行测试 1.5完整代码 1.进程池 进程池其产生原因主要是为了优化大量任务需要多进程完成时频繁创建和删除进程所带来的资源消耗&#…

数码论坛|基于SprinBoot+vue的数码论坛系统(源码+数据库+文档)

数码论坛系统 目录 基于SprinBootvue的数码论坛系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2 管理员功能模块 3 用户后台管理模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&am…

【Python编程】给电脑安装最新的 Python3.12.3

笔者最近更换了新的Win11系统,安装最新的Python版本(3.12.3)尝尝鲜。据说这个版本存在一些漏洞,笔者将后续更新编程过程中的相关问题(如果有)。Python3.12.3的安装过程比较简单,在此进行说明。 …