news 2026/5/11 9:06:42

告别弱密码!SSH密钥认证实战:从加密原理到禁用密码登录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
告别弱密码!SSH密钥认证实战:从加密原理到禁用密码登录

摘要:密码认证存在被暴力破解的风险,而SSH密钥认证基于非对称加密,安全性极高。本文将深入讲解对称加密与非对称加密的原理、算法及对比,并使用MobaXterm生成RSA密钥对,将公钥上传至Linux服务器,配置SSH仅允许密钥登录,彻底关闭密码通道。适合所有Linux运维人员和开发者。


一、实验环境

设备操作系统说明
客户端Windows(安装MobaXterm)用于生成密钥对,远程连接
服务器Kali Linux 2026.1作为SSH服务端,配置密钥认证

此处客户端也可使用Kali自身,但为演示常用工具,使用MobaXterm。


二、加密基础:对称加密与非对称加密

在深入SSH密钥认证前,必须理解两种基本加密方式。

2.1 对称加密(Symmetric Encryption)

原理:加密和解密使用同一个密钥。发送方用密钥加密数据,接收方用相同的密钥解密。

特点

  • 加解密速度极快,适合大量数据。

  • 密钥管理困难:每对通信方需要共享一个密钥,n个人需要n(n-1)/2个密钥。

  • 密钥传输过程中容易被截获。

常见算法:DES(已过时)、3DES、AES(最常用)、SM4(国密)。

密钥长度:通常128位、192位、256位(AES)。

应用场景:文件加密、数据库加密、SSL/TLS中的批量数据传输(会话密钥)。

2.2 非对称加密(Asymmetric Encryption)

原理:使用一对密钥——公钥(public key)私钥(private key)。公钥加密的数据只能用私钥解密;私钥加密的数据只能用公钥解密(数字签名)。

特点

  • 安全性极高,无需共享密钥。

  • 加解密速度慢,比对称加密慢几个数量级。

  • 公钥可公开,私钥必须保密。

常见算法:RSA、DSA(数字签名)、ECC(椭圆曲线)、SM2(国密)。

密钥长度:RSA常用1024、2048、4096位。

应用场景

  • 加密:用对方公钥加密消息,确保只有对方私钥能读。

  • 身份认证/数字签名:用私钥签名,对方用公钥验证。

  • SSH密钥认证:客户端用私钥证明身份,服务器用公钥验证。

2.3 对比总结
特性对称加密非对称加密
密钥数量12(公钥+私钥)
密钥分发困难(需安全通道)简单(公钥可公开)
速度慢(约100倍差距)
安全性取决于密钥长度和算法更高
典型算法AESRSA、ECC
SSH中的角色会话加密(实际传输数据)身份认证 + 交换会话密钥

SSH协议结合了两者:初期用非对称加密完成身份认证和会话密钥交换,之后用对称加密(如AES)加密所有通信内容。


三、SSH密钥认证工作原理

客户端生成密钥对ssh-keygen):私钥保存在本地,公钥上传至服务器~/.ssh/authorized_keys

客户端发起连接:服务器发送一个随机字符串。

客户端用私钥签名:将签名结果返回服务器。

服务器用公钥验签:若通过,允许登录。

整个过程不传输密码,即使网络被监听,也无法获得私钥。


四、实战:配置SSH密钥认证

步骤1:在客户端生成密钥对(使用MobaXterm)

打开MobaXterm本地终端,执行:

ssh-keygen -t rsa -b 2048
  • 提示保存路径:默认/home/mobaxterm/.ssh/id_rsa(回车)

  • 提示输入密码短语:可留空(直接回车,方便自动化)

  • 再次确认:回车

生成后,私钥:id_rsa,公钥:id_rsa.pub

步骤2:将公钥拷贝到服务器

在MobaXterm终端中执行:

ssh-copy-id root@10.0.0.129

输入root密码(当前服务器允许密码登录),公钥会自动追加到服务器的/root/.ssh/authorized_keys文件中。

问题解决:

若kali的root用户不支持ssh连接登录,执行以下内容可解决

sudo sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config sudo systemctl restart ssh
步骤3:验证公钥上传成功

在Kali服务器上查看:

ls /root/.ssh/ cat /root/.ssh/authorized_keys

步骤4:测试密钥登录

在MobaXterm中直接连接:

ssh root@10.0.0.129

此时无需输入密码,直接登录成功。

步骤5:禁用密码登录(最终加固)

在Kali服务器上编辑/etc/ssh/sshd_config

vim /etc/ssh/sshd_config

找到#PasswordAuthentication yes,改为:

PasswordAuthentication no

重启SSH服务:

systemctl restart ssh

验证:再次尝试用密码登录,会被拒绝;只有持有私钥的客户端才能登录。


五、总结

本文首先系统阐述了对称加密与非对称加密的原理、算法、特点及应用场景,明确了两者在SSH协议中的协同作用:非对称加密用于身份认证和会话密钥交换,对称加密用于实际数据传输。随后,在Windows客户端(MobaXterm)与Kali Linux服务器环境中,详细演示了SSH密钥认证的完整配置流程:使用ssh-keygen生成RSA密钥对,通过ssh-copy-id上传公钥,测试免密登录,最后修改SSH配置文件禁用密码登录。实验结果表明,密钥认证彻底消除了密码暴力破解的风险,同时提升了登录便捷性。运维人员应优先采用密钥认证,并定期审核authorized_keys文件,移除失效或未授权的公钥。对于高安全环境,建议为私钥设置强密码短语,并启用SSH代理转发限制。


重要声明:本教程及文中所有操作仅限于合法授权的安全学习与研究。作者及发布平台不承担因不当使用本教程所引发的任何直接或间接法律责任。请务必遵守中华人民共和国网络安全相关法律法规。

如果这篇文章帮你解决了实操上的困惑,别忘记点击点赞、分享,也可以留言告诉我你遇到的其它问题,我会尽快回复。你的关注是我坚持原创和细节共享的力量来源,谢谢大家。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 9:02:36

终极iOS降级与设备管理工具:Legacy-iOS-Kit完整指南

终极iOS降级与设备管理工具:Legacy-iOS-Kit完整指南 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 你…

作者头像 李华
网站建设 2026/5/11 9:01:44

基于深度学习的YOLO26动物姿态估计 动物关键点检测 动物姿态估计 动物行为识别分析(数据集+模型+界面)

YOLOv11在动物关键点姿态估计中的应用与进展 一、YOLOv11概述 YOLOv11是基于YOLO(You Only Look Once)系列目标检测算法的最新演进版本,专门针对实时目标检测和姿态估计任务进行了优化。相较于前代YOLOv10,YOLOv11在模型架构、训练策略和推理效率方面都…

作者头像 李华
网站建设 2026/5/11 9:00:39

自建轻量级S3兼容对象存储:shebe部署与实战指南

1. 项目概述:一个面向开发者的轻量级对象存储服务 最近在整理个人项目和团队内部工具时,经常遇到一个不大不小的痛点:需要一个简单、可靠的地方存放一些静态文件,比如前端项目的构建产物、小程序的素材包、或者是一些临时的日志备…

作者头像 李华
网站建设 2026/5/11 8:58:43

Obsidian代码块美化终极指南:3步打造专业级技术文档

Obsidian代码块美化终极指南:3步打造专业级技术文档 【免费下载链接】obsidian-better-codeblock Add title, line number to Obsidian code block 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-better-codeblock 还在为Obsidian中单调的代码块而烦…

作者头像 李华
网站建设 2026/5/11 8:57:34

Node.js异步数据库操作:nedb-promises封装原理与实战指南

1. 项目概述:告别回调地狱,拥抱异步数据库操作 如果你在Node.js项目中用过NeDB,大概率对它的回调函数(callback)模式又爱又恨。NeDB本身是一个轻量级的嵌入式数据库,API设计简单直观,但在现代异…

作者头像 李华
网站建设 2026/5/11 8:57:32

ARM虚拟化中断控制:ICH_HFGWTR_EL2寄存器解析与应用

1. ARM虚拟化中的中断控制机制解析 在ARM架构的虚拟化环境中,中断管理是确保系统稳定性和性能的关键环节。作为虚拟化技术的核心组件,通用中断控制器(GIC)通过一组精心设计的寄存器为Hypervisor提供了细粒度的控制能力。其中ICH_H…

作者头像 李华