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

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

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

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

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

相关推荐
vibecode3 小时前
网站服务器失去响应怎么解决?我把连接超时和读超时这两段计时拆开跑了一遍
运维·服务器
数字融合3 小时前
透明化视频孪生危化安全管控解决方案
人工智能·python·安全
工业一体机老司机4 小时前
Docker部署工控机采集服务 Compose编排与开机自启
运维·docker·容器
迪康Defender4 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
Flynn Liang5 小时前
AI 应用的安全红线:Spring AI 下的 Prompt 注入防护、PII 脱敏、输出审计与密钥管理
人工智能·安全·spring·数据泄露·springai·prompt注入
朗迪锋5 小时前
SoErgo重塑“四特”场景下的人机协同与安全边界
人工智能·安全·人机工程
jimmyleeee6 小时前
Agent安全之九:OWASP ASI09 人机信任利用------当人类成为攻击链上最后一道被攻破的关口
人工智能·安全
其实防守也摸鱼7 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
万联WANFLOW7 小时前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
十碗饭吃不饱8 小时前
SSH 密钥认证详解:原理、实操、参数、排错与加固
运维·ssh