温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

什么是SSH安全外壳协议基础

发布时间:2026-11-09 11:19:06 来源:亿速云 阅读:105 作者:小樊 栏目:系统运维

SSH(Secure Shell,安全外壳协议)是一种用于在不安全网络上进行安全远程登录和其他安全网络服务的加密网络协议。下面从基础层面为你系统梳理。


一、SSH 是什么?

  • 定义:SSH 是一种应用层协议,默认端口 22
  • 核心目标:
    • 加密通信(防止窃听)
    • 身份鉴别(防止伪装)
    • 完整性保护(防止篡改)
  • 典型用途:
    • 远程登录服务器(ssh user@host)
    • 远程命令执行
    • 安全文件传输(SFTP / SCP)
    • 端口转发 / 隧道

二、SSH 的工作模型

客户端 (SSH Client)
      ↓ 加密通道
服务端 (SSH Server,sshd)
  • 客户端:人用的工具(如 OpenSSH、PuTTY)
  • 服务端:长期运行 sshd 守护进程

三、SSH 协议层级(基础结构)

SSH 协议本身分为三层:

  1. 传输层协议(SSH-TRANS)

    • 建立 TCP 连接
    • 版本协商
    • 算法协商
    • 密钥交换(KEX)
    • 加密 & 完整性校验
  2. 用户认证协议(SSH-USERAUTH)

    • 密码认证
    • 公钥认证
    • 其他(如键盘交互)
  3. 连接协议(SSH-CONNECT)

    • 多路复用
    • Shell、命令执行、端口转发

四、核心安全机制(基础重点)

1. 加密( confidentiality)

  • 对称加密(AES、ChaCha20)
  • 密钥通过密钥交换安全生成

2. 密钥交换(KEX)

  • 常用:Diffie–Hellman / ECDH
  • 目的:双方在不安全信道上生成共享密钥

3. 主机密钥(Host Key)

  • 服务端拥有唯一密钥对
  • 客户端首次连接会保存(known_hosts)
  • 防止中间人攻击

4. 用户认证

  • 密码:简单但不推荐长期使用
  • 公钥:更安全(推荐)
    • 客户端有私钥
    • 服务端有公钥(authorized_keys)

5. 完整性

  • MAC(消息认证码)
  • 防止数据被篡改

五、一次 SSH 连接的基本流程(简化)

  1. TCP 三次握手
  2. 协议版本协商
  3. 算法协商
  4. 密钥交换(生成会话密钥)
  5. 服务端主机密钥验证
  6. 用户身份认证
  7. 建立加密会话
  8. 执行 Shell / 命令 / 转发

六、常见基础命令(Linux)

# 登录
ssh user@192.168.1.10

# 生成密钥
ssh-keygen -t rsa

# 拷贝公钥
ssh-copy-id user@host

# 文件传输
scp file.txt user@host:/path/

七、SSH 与 Telnet 的区别(基础对比)

项目 Telnet SSH
加密 ❌ ✅
安全性 极低 高
默认端口 23 22
是否推荐 否 是

八、学习 SSH 基础的建议路径

  1. 会用 ssh 登录
  2. 配置公钥登录
  3. 理解 known_hosts
  4. 学习端口转发
  5. 阅读 man ssh / man sshd

如果你愿意,我也可以:

  • 用图示讲 SSH 握手
  • 讲 公钥登录原理
  • 对比 SSH1 vs SSH2
  • 给你一个 最小可运行实验环境

你更想深入哪一部分?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手