SSH密钥认证:从密码到密钥的安全升级指南

目录

什么是SSH?

SSH的两种登录方式

[1. 密码登录](#1. 密码登录)

[2. 密钥登录](#2. 密钥登录)

公钥与私钥详解

非对称加密基础

密钥存储位置

生成SSH密钥对

基本生成命令

密钥生成过程

SSH密钥登录验证过程

可视化流程

实例

​编辑

总结


什么是SSH?

SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络中提供安全的远程登录和其他安全网络服务。它取代了不安全的Telnet、rlogin等明文传输协议。


SSH的两种登录方式

1. 密码登录

  • 工作原理:用户输入用户名和密码,服务器验证凭据

  • 优点:简单易用,无需预先配置

  • 缺点:易受暴力破解,安全性依赖密码强度

2. 密钥登录

  • 工作原理:使用非对称加密技术进行身份验证

  • 优点:更高的安全性,抵抗暴力攻击

  • 缺点:需要前期配置,管理稍复杂


公钥与私钥详解

非对称加密基础

在非对称加密体系中,存在一对数学上相关的密钥:

私钥

  • 相当于你的"个人印章"或"身份证"

  • 必须严格保密,绝不共享

  • 用于解密数据和生成数字签名

公钥

  • 相当于你的"公开展示柜"或"身份证明复印件"

  • 可以自由分发,无安全风险

  • 用于加密数据和验证签名

密钥存储位置

私钥存储路径

bash

复制代码
~/.ssh/id_rsa          # RSA算法私钥
~/.ssh/id_ecdsa        # ECDSA算法私钥  
~/.ssh/id_ed25519      # Ed25519算法私钥

公钥存储路径

bash

复制代码
~/.ssh/id_rsa.pub      # RSA公钥
~/.ssh/id_ecdsa.pub    # ECDSA公钥
~/.ssh/id_ed25519.pub  # Ed25519公钥

服务器授权文件

bash

复制代码
~/.ssh/authorized_keys  # 存储允许登录的公钥列表

生成SSH密钥对

基本生成命令

bash 复制代码
#直接写
ssh-keygen

# 生成RSA密钥(兼容性最好)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# 生成Ed25519密钥(更安全、更快速)
ssh-keygen -t ed25519 -C "your_email@example.com"

密钥生成过程

bash 复制代码
输入生成命令
    ↓
选择保存路径(默认~/.ssh/id_算法)
    ↓  
设置密钥密码(可选但推荐)
    ↓
生成密钥对:私钥 + 公钥
    ↓
设置正确的文件权限

SSH密钥登录验证过程

可视化流程

bash 复制代码
+----------+          +-----------------+          +------------+
|  客户端   |          |    SSH服务器     |          | 授权密钥文件 |
+----------+          +-----------------+          +------------+
     |                         |                         |
     | 1. 连接请求             |                         |
     |----------------------->|                         |
     |                         |                         |
     |                         | 2. 查找匹配公钥         |
     |                         |----------------------->|
     |                         |                         |
     |                         | 3. 生成随机挑战         |
     |                         | 用公钥加密              |
     |                         |                         |
     | 4. 发送加密挑战         |                         |
     |<-----------------------|                         |
     |                         |                         |
     | 5. 用私钥解密           |                         |
     | 获得原始挑战            |                         |
     |                         |                         |
     | 6. 发送挑战答案         |                         |
     |----------------------->|                         |
     |                         |                         |
     |                         | 7. 验证答案             |
     |                         |                         |
     | 8. 认证成功             |                         |
     |<-----------------------|                         |
     |                         |                         |
     | 9. 建立加密会话         |                         |
     |<======================>|                         |

实例

生成rsa非对称密钥对

将公钥发送

登录时流程:

复制代码
客户端 (foundation0)             服务器 (workstation)
      |                                |
      | --- SSH连接请求 --->           |
      |                                |
      | <--- 发送公钥挑战 ---         | 服务器生成随机数,用客户端公钥加密
      |                                |
      | --- 私钥解密后响应 --->        | 客户端用私钥解密,证明拥有私钥
      |                                |
      | <--- 认证成功 ---             | 服务器验证响应正确
      |                                |
      | === 对称加密会话 ===         | 建立加密通道传输数据

总结

SSH密钥认证提供了比传统密码认证更高级别的安全性。通过理解公钥私钥的工作原理和完整的认证流程,你可以:

  • ✅ 实现无需密码的安全远程访问

  • ✅ 有效防御暴力密码破解攻击

  • ✅ 建立更加可靠的自动化运维流程

  • ✅ 提升整体系统安全水平

相关推荐
Python私教11 分钟前
一次性批准令牌:挡住旧授权误发新版本的工程设计
python·安全
漫路在线1 小时前
无境红日靶场五 wp
网络·安全·web安全
sxstj1 小时前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
国际云,接待1 小时前
Nginx 后面接负载均衡,502/504 到底该先查哪里?
运维·nginx·负载均衡
AmyLin_20012 小时前
PDF 脱敏技术【1】:PDF 脱敏不是盖黑框:为什么敏感信息仍能被复制,正确的保护方式是什么?
安全·pdf·sdk·脱敏·文档安全·pdf 脱敏·智能脱敏
刘某的Cloud2 小时前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
小此方2 小时前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
hz567893 小时前
视频会议终端品牌如何选择?主流产品特点与选型标准
安全·音视频·实时音视频·信息与通信
程序员老陆4 小时前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg
玫幽倩4 小时前
2026黄河流域公安院校-电子物证单项赛(程序逆向分析+服务器取证)
运维·服务器·python·电子取证·逆向·程序分析·服务器取证