CentOS配置SSH密钥登录

CentOS 8 SSH密钥登录配置实战:从生成到禁用密码的完整指南 SSH密钥认证是一种基于非对称加密的身份验证机制,通过公私钥配对替代明文密码传输,从根本上规避暴力破解、中间人窃听和凭证泄露风险。其核心原理依赖RSA或Ed25519等算法的数学不可逆性,确保私钥离线存储、公钥可安全分发。该技术具备高安全性、强审计性与自动化友好等工程价值,广泛应用于远程开发(如VS Code Remote-SSH)、基础设施编排(Ansible)、代码托管(Git SSH协议)及多服务器统一运维场景。本文聚焦CentOS 8环境下的密钥配置落地,涵盖RSA 3072位密钥生成、author 阅读详情
AI摘要

本文详细介绍了如何在CentOS服务器上生成RSA密钥对,将公钥添加到authorized_keys,配置sshd_config以启用RSA验证并支持私钥登录,以及处理客户端密钥导入问题的方法。

总体思路:

在任意一台电脑生成RSA 密钥对,将公钥(.pub) 写入到服务器“/root/.ssh/authorized_keys”目录中,修改服务器“/etc/ssh/sshd_config ” 配置文件,然后用户使用私钥远程登录。

实际操作:

1 生成RSA 密钥对

在CentOS服务器上执行如下命令。

ssh-keygen -t rsa -C "273062991@qq.com"
# 如指定生成位置
ssh-keygen -t rsa -C "273062991@qq.com" -f ./my_rsa

执行后,会提示默认保存为/root/.ssh/id_rsa,直接回车即可。然后提示输入两次密钥的密码,如果不设置密码直接两次回车即可,注意如果输入密码此时键盘输入是不显示的,直接输入即可。最后见到以下显示,代表RSA 密钥对生成成功。

[root@centos-linux ~]# ssh-keygen -t rsa -C "273062991@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
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:QIjKan6I1bIq7ilG79I2BQuawg/U7Ge01/x3kMEVVEA 273062991@qq.com
The key's randomart image is:
+---[RSA 2048]----+
|   . ..      .E++|
|  . ..         . |
|..o   .     . .  |
|.+ + . .     o   |
|=.o.+ . S     o  |
|==oo.= . o   o   |
|*.*o+ .   .   .  |
|+=oB       . . . |
|B==..       . .  |
+----[SHA256]-----+
[root@centos-linux ~]#

查看刚刚生成的/root/.ssh/目录,可看到生成了id_rsa和id_rsa.pub两个文件,即密钥对。id_rsa.pub为公钥,id_rsa为私角。

[root@centos-linux .ssh]# ls /root/.ssh/
id_rsa  id_rsa.pub

2 导入密钥

在CentOS服务器中导入以上的公钥到/root/.ssh/authorized_keys文件中。将id_rsa.pub内容写入到该文件即可。

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

如果需要添加多个公角,则在该文件中多行写入,每行代表一个公钥。

说明:为什么要将密钥文件写入到authorized_keys文件呢,因为ssh服务的默认配置里面写明了文件位置和文件名。可查看sshd_config,找到AuthorizedKeysFile    .ssh/authorized_keys一行。

cat /etc/ssh/sshd_config

3 ssh服务配置

编辑配置文件

vim /etc/ssh/sshd_config

#开启RSA验证

RSAAuthentication yes    

#使用公钥验证
PubkeyAuthentication yes    

重启ssh服务

systemctl restart sshd

接下来即可使用ssh密钥登录

4 私钥登录

远程用户使用私钥id_rsa,可通过命令或ssh工具进行免密登录。

5 安全配置

在确保以上配置无误,远程用户可通过密钥进行免密登录后。可以通过下面的配置属性修改登录端口和禁用密码登录,提高服务器安全性

 编辑配置文件

vim /etc/ssh/sshd_config

#修改登录端口

Port 22        

#禁用密码登录  
PasswordAuthentication no    

 修改配置后,仍需要重启ssh服务

systemctl restart sshd

6 客户端密钥导入失败的处理

如在Windows中使用xshell导入私钥时,会提示:“用户秘钥导入失败 无法加载用户密钥”,一般是需要将密钥的OPENSSH格式转为RSA格式。转换方法如下。

在CentOS服务器或其它CentOS服务器(需要有id_rsa文件)执行如下命令。

yum install -y putty
puttygen id_rsa -o id_rsa.ppk
puttygen id_rsa.ppk -O private-openssh -o id_rsa.pem

生成的id_rsa.pem文件即为转换后的RSA秘钥,Xshell就能正常识别导入。

CentOS 8 SSH密钥登录实战:Ed25519配置与VS Code远程开发 SSH密钥认证是现代Linux系统安全访问的基础机制,其核心在于非对称加密的挑战-响应原理,相比密码登录可彻底规避暴力破解与明文传输风险。技术价值体现在自动化运维(Ansible/Jenkins)、IDE远程开发(VS Code Remote-SSH)及多跳网络管理等关键场景。本文聚焦CentOS 8这一广泛使用的RHEL系发行版,结合OpenSSH 8.0+默认策略,详解Ed25519密钥生成、ssh-agent集成、SELinux上下文修复及authorized_keys权限控制等硬性约束,解决‘Per 阅读详情

相关推荐

CentOS 8 SSH密钥登录强制配置与七层加固实战

SSH密钥认证是现代Linux服务器身份验证的基础机制,其核心原理是基于非对称加密的公私钥配对与服务端无状态校验,相比密码认证具备防爆破、可审计、低延迟等显著技术优势;在等保合规、金融级运维及VS Code远程开发等高频场景中,密钥已成为CentOS 8 Stream的默认且唯一受支持的身份验证方式;本文聚焦CentOS 8特有的FIPS模式、SELinux上下文、PAM策略耦合等底层约束,系统梳理密钥生成、传输、服务端七层加固、IDE集成及应急轮换的全链路工程实践,覆盖ed25519算法选型、restor

634

Centos配置ssh密钥登录

ssh密钥连接

4031

CentOS 7 SSH密钥登录全链路配置与排错指南

SSH密钥认证是Linux远程访问的基础安全机制,其核心原理在于非对称加密握手、服务端公钥验证与客户端私钥签名的协同过程。在CentOS 7中,由于OpenSSH 6.6.1p1版本限制、SELinux强制策略及默认宽松配置,密钥登录极易失败——典型表现为Permission denied (publickey)或Connection reset by peer。技术价值在于替代密码认证,满足等保二级对身份鉴别强度的要求,并支撑VS Code Remote-SSH等现代开发工具的稳定接入。典型应用场景包括V

weixin_32705179的博客 252

密码学使用密钥登录SSH服务器

实验目的 掌握SSH密钥登录的配置与应用 实验环境 两台centos服务器 一台作为SSH服务器 一台作为SSH客户端,使用密钥连接SSH服务器 实验原理 SSH登录除了传统的密码登录,可以使用密钥文件登录,结合PAM模块,也可以实现双因子 登录等。 实验步骤 一、配置服务器SSH密钥登录 以下操作使用服务器进行 1、编辑SSH配置文件 vim /ect/...

YUGUOHOU的博客 454

CentOS 8 SSH密钥登录配置全攻略:从原理到实战避坑指南

SSH(Secure Shell)是Linux服务器远程管理的核心协议,它通过非对称加密技术实现安全通信。其密钥认证机制利用公钥与私钥配对,避免了密码在网络中传输的风险,从根本上提升了认证安全性。这一技术对于保障服务器访问控制、防止暴力破解具有重要价值,是运维工程师和开发者的必备技能。在实际应用场景中,特别是在CentOS 8这类现代Linux发行版上,配置SSH密钥登录常因严格的权限模型而遇到障碍。本文将围绕SSH密钥对生成、服务器端权限设置(如`~/.ssh`目录的`700`权限和`authorized

chunqingtai2922的博客 324

Xshell 7配置SSH密钥登录RHEL7/CentOS7服务器全攻略

SSH(Secure Shell)是一种用于安全远程登录和管理服务器的网络协议,其核心安全机制之一是基于非对称加密的密钥认证。与传统的密码认证相比,密钥认证通过公钥和私钥的配对,实现了更高的安全性,能有效抵御暴力破解和中间人攻击。在工程实践中,SSH密钥登录不仅提升了运维效率,还广泛应用于自动化脚本、CI/CD流水线以及多服务器集群管理场景。对于使用RHEL7或CentOS7这类经典Linux发行版的用户,结合Xshell 7这一主流终端工具进行配置,能高效完成密钥对的生成、部署与调试。本指南将聚焦于如何利

weixin_33491377的博客 331

centos配置ssh密钥登录

centos配置ssh密钥登录

weixin_44496885的博客 6931

CentOS SSH密钥登录实战:ed25519配置与VS Code免密连接

SSH密钥认证是现代Linux远程管理的基础安全机制,其核心原理是基于非对称加密的‘拥有即证明’身份验证,替代脆弱的密码认证,从根本上阻断暴力破解。技术价值体现在零明文传输、不可重放、高并发低开销等工程优势。典型应用场景包括VS Code Remote-SSH远程开发、Git免密克隆仓库、Docker批量部署及云服务器自动化运维。本文聚焦CentOS 7环境,详解ed25519密钥生成、ssh-copy-id安全分发、sshd_config深度加固,并直击vscode连接ssh远程服务器和ssh免输入密码v

weixin_28715953的博客 263

手把手教你在 CentOS 9 中配置 SSH 密钥登录:禁用密码登录提升安全性

通过以上步骤,你已成功在 CentOS 9 上配置了 SSH 密钥登录并禁用了密码登录。优点:防止暴力破解,减少攻击面。后续建议:定期轮换密钥(如每年一次),并使用工具(如 Fail2Ban)增强防护。如果在操作中遇到问题,请提供具体错误信息,我可以进一步协助排查!

2501_93894221的博客 837

CentOS/Linux系统安装SSH并配置SSH登录密钥

用vim打开配置文件将上图的的设置为YES。

u011938827的博客 7460

Linux CentOS 8.x 生成rsa公私密钥

1、.ssh文件夹、id_rsa、id_rsa.pub 权限为700。有时候我们在远程访问服务器或者使用Jenkins连接远程服务器时候,需要配置rsa私钥。对于RSA密钥,最小要求768位,默认是2048位。生成 id_rsa(私钥)、id_rsa.pub(公钥) 两个文件。-m 参数指定密钥的格式,PEM是rsa之前使用的旧格式。2、然后在第三方平台连接中就可以配置使用公(私)钥了。(1):默认生成在 //root/.ssh 目录下。1、生成新版格式 rsa 密钥。2、生成旧版格式 rsa 密钥。

hkl_Forever的博客 7175

Linux CentOS 节点之间的SSH无密钥登录配置

Step 1: 分别在三个节点执行命令:cd ~ Step 2: 分别在三个节点执行命令:ls -al Step 3: 分别在三个节点执行命令:ssh-keygen,然后按三下回车 Step 4: 分别在三个节点执行命令:ssh-copy-id -i ~/.ssh/id_rsa.pub root@node11—–输入yes和密码(123123) S

Star-Technology 1276

Linux Centos7配置SSH免密登录

Linux Centos7配置SSH免密登录

fen_fen的专栏 4758

centos配置ssh免密钥登录但是仍提示需要输入密码的解决办法

centos配置ssh免密钥登录但是仍提示需要输入密码的解决办法 参考 http://www.cnblogs.com/qcly/archive/2013/07/27/3219535.html https://segmentfault.com/q/1010000000445726 完美解决

Emotionameng的博客 2482

Oracle入门——基础语法篇

ROWID是Oracle中的一个伪列,用于唯一标识数据库中的每一行。在查询中,可以使用ROWID来定位和操作特定的行,例如,删除特定的行或更新特定的行。在Oracle中,子查询是指嵌套在另一个查询内部的查询语句,它可以作为主查询的一部分,用于提供额外的过滤条件、计算或数据源。在Oracle中,连接查询是通过使用JOIN子句将两个或多个表中的数据合并在一起,以获取满足特定条件的结果集。在Oracle数据库中,ROWID和ROWNUM都是用于对行进行标识和定位的伪列,它们在查询中的使用有一些不同之处。

麦当当的博客 3088

告别底噪与失真:手把手教你调校WM8988音频Codec的输入输出增益链

本文详细介绍了如何调校WM8988音频Codec的输入输出增益链,解决底噪与失真问题。从模拟输入增益、数字转换增益到输出放大增益,提供了具体的寄存器配置和调试策略,帮助开发者优化音频信号处理链,提升音质表现。

weixin_30485379的博客 361

CentOS SSH密钥登录配置:权限、SELinux与VS Code远程开发实战

SSH密钥认证是Linux系统身份验证的基础安全机制,其核心原理基于非对称加密与公私钥配对信任模型,技术价值在于彻底规避密码爆破风险、实现自动化运维和零信任访问控制。在CentOS等启用SELinux的发行版中,密钥生效不仅依赖正确生成与分发,更需严格满足目录权限(700)、文件权限(600)及SELinux上下文(ssh_home_t)三重约束。典型应用场景包括VS Code Remote-SSH远程开发、批量服务器管理及CI/CD流水线免密部署。本文聚焦CentOS 7/8/9环境下的生产级密钥落地,覆

weixin_30832143的博客 333

codemirror6 制作markdown编辑器(源码模式)

总体上感觉能用,但是不怎么友好,官方文档有点散乱,而且关键字高亮功能是独立出去的,去官方文档找半天,也没找到怎么改。EditorView.theme可以往EditorView模块中修改CSS的样式,从而影响编辑器的样式展示。"### 测试\n\n```javascript\nlet x = 'y'\n```"这个插件中的markdown语法的高亮样式。//这里指定markdown中代码块使用的解析扩展。开头的class样式,并且还需要在选择器前面添加。//markdown语言解析扩展。

qq_43203949的博客 1782

centos配置ssh密钥登录或者密钥密码同时使用

linux配置ssh密钥登录 生成rsa密钥,使用Linux的ssh-keygen,参考网站:https://www.ssh.com/ssh/keygen/ ssh-keygen -t rsa -b 4096 ssh-keygen -t dsa ssh-keygen -t ecdsa -b 521 ssh-keygen -t ed25519 -t选择加密算法 有四种: rsa,dsa,ecdsa...

qq_43456816的博客 3079

【小白指南】如何将deepseek引入WPS\Word\Excel中去?

如何将deepseek引入WPS\Word\Excel中去?纯小白都能看的懂,一步步操作就能行

2503_90498422的博客 1万+

劳特巴赫 Trace32 调试使用教程

详细介绍如何使用trace32进行调试

m0_56208280的博客 4万+

CentOS7.4配置SSH登录密码与密钥身份验证踩坑 CentOS7 SSH 密码正确,但仍提示“Permission denied”

CentOS7.4配置SSH登录密码与密钥身份验证踩坑 简单记录,自用CentOS7.4虚拟机与ALiYunVPS,在配置ssh登录身份验证时碰到的问题。 阿里云VPS:因为在重置磁盘时选择了密钥对的身份验证方式,因此VPS中的CentOS7.4中的 /etc/ssh/sshd_config 文件中,在初始化时就被添加了一行禁止密码登录的配置: 1 Passw...

胭脂草的ABC博客 4002

STM32 HAL库驱动BMP388:从寄存器配置到高精度气压温度采集

本文详细介绍了如何使用STM32 HAL库驱动BMP388气压温度传感器,实现高精度数据采集。内容涵盖从硬件连接到STM32CubeMX配置、关键寄存器解析、驱动源码编写,到核心补偿算法与海拔换算的完整流程,并提供了针对不同应用场景的优化配置与调试技巧,帮助开发者快速构建稳定可靠的测量方案。

weixin_29299807的博客 169

CentOS7.4配置SSH登录密码与密钥身份验证踩坑

简单记录,自用CentOS7.4虚拟机与ALiYunVPS,在配置ssh登录身份验证时碰到的问题。 阿里云VPS:因为在重置磁盘时选择了密钥对的身份验证方式,因此VPS中的CentOS7.4中的 /etc/ssh/sshd_config 文件中,在初始化时就被添加了一行禁止密码登录的配置: PasswordAuthentication no 使用vim编辑配置文件将其改为:...

weixin_30716141的博客 1245

深入浅出之CSPBlock模块(YOLO)

YOLO CSPX模块是YOLO系列算法中的一个重要组成部分,它通过跨阶段部分连接的方式减少了计算量,同时保证了模型的准确率。在YOLOv4及后续版本中,CSPX模块被广泛应用于主干网络和Neck结构中,为模型提供了强大的特征提取和融合能力。

浩瀚之水的专栏 6752

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

念兮为美 5万+
上一篇: 海康RTSP视频流转M3U8
下一篇: CentOS 服务器时间同步
宫孙小兔
博客等级 码龄19年 1871粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宫孙小兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值