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

Linux主机 SSH 通过密钥登录

我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。

密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。

下面来讲解如何在 Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录。

1、制作密匙对

[root@brace ~] # ssh-keygen   <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):    <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):     <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again:    <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa.   <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub.   <== 公钥
The key fingerprint is:
SHA256:vfMD691TW5bF9tZHZYPsuQMWAoswwcz377glhXrov8w root@brace
The key's randomart image is:
+---[RSA 2048]----+
|  ++.  ..   . .  |
|   +o.. .. . o .o|
|    ....  . o .oo|
|       ... o o  =|
|       .S.o . .o=|
|      o .... o .O|
|     o oo.oo  .++|
|    . +.o..+.... |
|     ..Eo.. o... |
+----[SHA256]-----+

密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录。

现在,在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。

2. 在服务器上安装公钥

键入以下命令,在服务器上安装公钥:

[root@brace ~]# cd .ssh
[root@brace .ssh]# ls
id_rsa  id_rsa.pub
[root@brace .ssh]# cat id_rsa.pub >> authorized_keys

如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:

[root@brace .ssh]# chmod 600 authorized_keys
[root@brace .ssh]# chmod 700 ~/.ssh

3. 设置 SSH,打开密钥登录功能

编辑 /etc/ssh/sshd_config 文件,进行如下设置:

RSAAuthentication yes
PubkeyAuthentication yes

另外,请留意 root 用户能否通过 SSH 登录:

PermitRootLogin yes

当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录

PasswordAuthentication no

最后,重启 SSH 服务。再次重启服务器或者连接SSH将使用密钥登录。

4. 将私钥下载到桌面

使用xshell直接打开密钥登录

PuTTY需要转换为 PuTTY 能使用的格式

使用 WinSCP、SFTP 等工具将私钥文件 id_rsa 下载到客户端机器上。然后打开 PuTTYGen,单击 Actions 中的 Load 按钮,载入你刚才下载到的私钥文件。如果你刚才设置了密钥锁码,这时则需要输入。

载入成功后,PuTTYGen 会显示密钥相关的信息。在 Key comment 中键入对密钥的说明信息,然后单击 Save private key 按钮即可将私钥文件存放为 PuTTY 能使用的格式。

今后,当你使用 PuTTY 登录时,可以在左侧的 Connection -> SSH -> Auth 中的 Private key file for authentication: 处选择你的私钥文件,然后即可登录了,过程中只需输入密钥锁码即可。

相关文章:

Linux主机 SSH 通过密钥登录

我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是&#xff0c;一般的密码方式登录&#xff0c;容易有密码被暴力破解的问题。所以&#xff0c;一般我们会将 SSH 的端口设置为默认的 22 以外的端口&#xff0c;或者禁用 root 账户登录。其实&#xff0c;有一个更…...

中国信息安全测评中心-自主原创测评

信息技术产品自主原创测评是适应我国经济社会发展的需要&#xff0c;是适应国际知识产权保护的发展趋势&#xff0c;鼓励信息技术产业的自主创新和维护权利人合法权益的重要举措。 信息技术产品自主原创测评业务是指在开发者自主声明的基础上&#xff0c;通过对关键技术实现的全…...

redis杂谈之部分重同步的实现

背景&#xff1a; 部分重同步则用于处理断线后重复制情况&#xff1a;当从服务器在断线 后重新连接主服务器时&#xff0c;如果条件允许&#xff0c;主服务器可以将主从服务器连 接断开期间执行的写命令发送给从服务器&#xff0c;从服务器只要接收并执行这 些写命令&#xff…...

多态部分参考答案

一、选择题 1、下列关于动态联编的描述中&#xff0c;错误的是&#xff08;&#xff09;。 A&#xff0e;动态联编是以虚函数为基础 B&#xff0e;动态联编是运行时确定所调用的函数代码的 C&#xff0e;动态联编调用函数操作是指向对象的指针或对象引用 D&#xff0e;动态联编…...

【高项】项目人力资源管理,沟通管理与干系人管理(十大管理)

【高项】项目人力资源管理&#xff0c;沟通管理与干系人管理&#xff08;十大管理&#xff09; 文章目录1、人力资源管理1.1 什么是人力资源管理&#xff1f;1.2 如何进行人力资源管理&#xff1f;&#xff08;过程&#xff09;1.3 人力资源管理工具1.4 人力资源管理文件2、沟通…...

Wikijs简介-强大可扩展的开源维基软件

Wikijs - 最强大 最可扩展的开源维基软件 使用 wiki.js 美丽直观的界面&#xff0c;让文档成为写作的乐趣&#xff01; 优点 &#x1f527; 随时随地安装 几乎适用于任何平台&#xff0c;并与PostgreSQL、MySQL、MariaDB、MS SQL Server 或 SQLite 兼容&#xff01; ⚙️ 管…...

微博舆情分析系统的设计与实现(python)

背景分析 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,微博舆情分析系统的资讯信息通过网络进行信息管理掀起了热潮,所…...

【AUTOSAR】【Lin通信】LinTrcv

目录 一、概述 二、功能说明 2.1 LIN收发器驱动程序操作模式 2.2 LIN收发器硬件操作模式 2.3 LIN收发器唤醒类型 2.4 LIN收发器唤醒模式 2.5 错误分类 2.5.1 开发错误 三、API接口 3.1 API定义 一、概述 该规范规定了模块LIN收发器驱动程序的功能、API和配置。它负责…...

UE4C++学习篇(十九)-- 动画蒙太奇初级使用

用一个第三人称的射击案例来简单介绍一下动画蒙太奇的使用&#xff0c;动画蒙太奇的具体介绍这里就不多说了&#xff0c;不知道的小伙伴可以去搜一下了解。 这里介绍角色射击&#xff0c;射击的时候播放一个射击动画。 选中需要创建出动画蒙太奇的动画&#xff0c;点击创建&am…...

子集和问题

目录 子集和问题 程序设计 程序分析 子集和问题 【问题描述】子集和问题的一个实例为〈S,c〉。其中,S={ x1 , x2 ,…,xn }是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得: 试设计一个解子集和问题的回溯法。 对于给定的正整数的集…...

苹果蓝牙耳机太贵了买哪个替代?苹果蓝牙耳机平替推荐

随着人们生活水平的提高&#xff0c;蓝牙耳机已经遍布在我们生活的各个角落。同时随着科技的发展&#xff0c;许多人果粉选择苹果耳机平替。下面我们一起来看看2023年有哪些适用于苹果的平替蓝牙耳机吧&#xff01; 一、南卡小音舱Lite2蓝牙耳机 蓝牙版本&#xff1a;5.3 售…...

CK-UR05-US桌面式超高频RFID发卡器开发手册之USB控制命令格式

CK-UR05-US桌面式超高频RFID发卡器支持USB控制命令格式&#xff0c;本文重点就此格式展开说明&#xff01; CK-UR05-US桌面式超高频RFID发卡器1、取版本号(GetReaderVersion) 功能:取读写器的硬件、软件版本 命令码: 02H 命令参数:无 命令包: 『40H 02H 02H BCH』 举例: 如…...

【华为OD机试】1025 - 字符串加解密

文章目录一、题目&#x1f538;题目描述&#x1f538;输入输出&#x1f538;样例1二、代码参考作者&#xff1a;KJ.JK&#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x…...

阿里云版GPT官宣,我们问了它10个问题

4月7日&#xff0c;阿里云宣布自研大模型“通义千问”&#xff0c;目前已开始邀请用户测试体验。 阿里达摩院在NLP自然语言处理等前沿科研领域早已布局多年&#xff0c;并于2019年启动大模型研发&#xff0c;通义千问便是其最新成果&#xff0c;相当于阿里云版的“ChatGPT”。 …...

ORM框架之NHibernate

什么是NHibernate NHibernate是一个开源的对象关系映射&#xff08;ORM&#xff09;框架&#xff0c;它允许开发人员使用面向对象的方式来访问关系型数据库。它是Hibernate框架的C#版本&#xff0c;Hibernate框架是Java平台上的ORM框架。 使用NHibernate&#xff0c;您可以将…...

凑微分练习

前言 在学习第一类换元法&#xff08;凑微分法&#xff09;时&#xff0c;我们常常需要凑微分。为了更加熟练地运用凑微分法&#xff0c;下面有几道凑微分例题供大家练习。 记住df(x)f′(x)dxdf(x)f(x)dxdf(x)f′(x)dx 例题1 dx‾d(ax)dx\underline{\quad}d(ax)dx​d(ax)dx‾…...

JavaWeb——多线程使用哈希表

目录 一、HashMap 1、定义 二、HashTable 1、定义&#xff1a; 2、区别&#xff1a; 三、ConcurrentHashMap 1、定义&#xff1a; 2、优化 &#xff08;1&#xff09;、加锁粒度不同——触发锁冲突的频率不同 &#xff08;2&#xff09;、充分利用CAS机制——无锁编程…...

anaconda permission denied

可能是路径不对 我的是只写了dir&#xff0c;没写文件名&#xff0c;而我要的是某个文件的路径&#xff0c;所以就报这个错。 具体&#xff0c;我需要某个权重的路径&#xff0c;比如pytorch_resnet50.pth&#xff0c;但我只写了这个权重所在的dir&#xff0c;比如F:/software/…...

蓝桥杯带刷,带刷!!!

A:::::::::::::::::::::::::::::::::::m计划&#xff08;双指针&#xff0c;滑动窗口&#xff0c;倍增&#xff09; 题目描述 小明是个鹅卵石收藏者&#xff0c;从小到大他一共收藏了 nn 块鹅卵石&#xff0c;编号分别为 1∼n&#xff0c;价值分别为 a1​&#xff0c;a2​&…...

第03讲:MinIO分布式文件服务器

一、什么是MinIO Minio 是个基于 Golang 编写的开源对象存储套件&#xff0c;虽然轻量&#xff0c;却拥有着不错的性能。 官网地址&#xff1a;MinIO | High Performance, Kubernetes Native Object Storageopen in new window官网文档地址&#xff1a;MinIO | The MinIO Qui…...

3步告别桌面混乱:开源免费的NoFences桌面分区管理工具

3步告别桌面混乱&#xff1a;开源免费的NoFences桌面分区管理工具 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否每天都要在杂乱无章的桌面图标中浪费宝贵时间&#x…...

手把手教你用VSCode快速定位并修改RuoYi框架的页面标题和图标(避坑指南)

高效定制RuoYi前端界面&#xff1a;VSCode全局搜索实战指南 刚接触RuoYi框架的开发者常会遇到这样的困扰&#xff1a;想修改浏览器标签页标题或系统Logo&#xff0c;却不知从何下手。前后端分离的项目结构让配置文件散落在各处&#xff0c;而手动翻找无异于大海捞针。本文将带你…...

逆向工程实战:如何用dbcc解析第三方CAN协议(含自定义结构体改造技巧)

逆向工程实战&#xff1a;用dbcc深度解析非标CAN协议与结构体改造技巧 在汽车电子和工业控制领域&#xff0c;CAN总线协议逆向分析是一项极具挑战性的工作。面对没有文档说明的第三方设备或商用车辆黑盒协议&#xff0c;工程师常常需要从原始数据流中重建通信逻辑。本文将深入探…...

显卡驱动深度清理指南:用DDU解决驱动残留难题

显卡驱动深度清理指南&#xff1a;用DDU解决驱动残留难题 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller 你是…...

YOLOv5后处理升级指南:一文搞懂NMS、Soft-NMS和CIoU-NMS怎么选

YOLOv5后处理优化实战&#xff1a;NMS算法选型与性能调优指南 当你的YOLOv5模型完成训练后&#xff0c;最后一个关键环节是后处理优化——这直接决定了检测框的质量和最终性能表现。面对琳琅满目的NMS变种和IoU计算方法&#xff0c;工程师们常常陷入选择困难&#xff1a;Soft-N…...

从LED灯变化理解计算机移位运算:手把手教你用实验箱验证带进位左移

从LED灯变化理解计算机移位运算&#xff1a;手把手教你用实验箱验证带进位左移 在计算机组成原理的学习中&#xff0c;移位运算是一个看似简单却蕴含深度的概念。当我们面对抽象的二进制数字在寄存器中"移动"时&#xff0c;往往难以形成直观理解。而通过实验箱上的L…...

野火挑战者开发板实战:用STM32CubeMX从零配置GPIO、UART和ADC(附完整代码)

野火挑战者开发板实战&#xff1a;从零构建环境监测系统 刚拿到野火挑战者开发板时&#xff0c;面对密密麻麻的引脚和复杂的配置选项&#xff0c;很多初学者会感到无从下手。本文将带你用STM32CubeMX图形化工具&#xff0c;快速配置GPIO、UART和ADC这三个最常用的外设&#xff…...

SVN 启动模式详解

SVN 启动模式详解 引言 Subversion(简称SVN)是一个开源的版本控制系统,广泛用于软件项目协作开发中。SVN的启动模式是其基本操作的核心,了解并掌握不同的启动模式对于高效使用SVN至关重要。本文将详细介绍SVN的启动模式,包括基本概念、常用模式及其应用场景。 一、SVN启…...

别再纠结选哪个了!实测对比PP-OCRv4、v3、读光等主流开源OCR模型(附完整代码与数据集)

主流开源OCR模型实战评测&#xff1a;从技术指标到业务落地的全维度解析 每次打开GitHub搜索OCR项目时&#xff0c;总会被琳琅满目的模型搞得眼花缭乱——PP-OCR系列、读光、DBNet...每个项目主页都宣称自己"精度最高"、"速度最快"。但当你真正把这些模型部…...

Wan2.2-I2V-A14B镜像效果展示:夕阳海滩10秒1080P高清视频生成作品集

Wan2.2-I2V-A14B镜像效果展示&#xff1a;夕阳海滩10秒1080P高清视频生成作品集 1. 惊艳的视频生成效果 想象一下&#xff0c;只需简单描述&#xff0c;就能让电脑自动生成一段夕阳下的海滩视频。Wan2.2-I2V-A14B镜像让这个想象成为现实&#xff0c;它能将文字描述转化为高清…...