文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SSH 是如何工作的?你学会了吗?

2024-11-29 20:19

关注

SSH 采用客户端-服务器架构。客户端是指试图连接远程服务器的机器。SSH 对客户机和服务器进行身份验证。它规定了客户端和服务器如何就共享秘密达成一致,以便随后对数据包进行加密。最后,它还提供数据完整性保护。

SSH 有两个版本:SSH-1 和 SSH-2。SSH-2 由 IETF 标准化。SSH 已被广泛采用。现代操作系统都内置了 SSH 客户端。OpenSSH 是一种流行的开源实现方式。也有商业实施方案。

下面将逐步解释 SSH 的三个主要层: 传输层、验证层和连接层。

01 传输层

传输层提供加密、完整性和数据保护,确保客户端和服务器之间的通信安全。

第 1 步 - 建立 TCP 连接

客户端启动与 SSH 服务器的 TCP 连接,通常是在 22 端口。

第 2 步 - 协议版本交换

客户端和服务器交换包含各自支持的 SSH 协议版本的标识字符串。

第 3 步 - 算法协商

客户端和服务器就加密、密钥交换、MAC(消息验证码)和压缩所使用的加密算法达成一致。

第 4 步 - 密钥交换

密钥交换算法(如 Diffie-Hellman)用于安全生成共享秘密。这一过程可确保双方在不直接传输的情况下获得相同的会话密钥。

第 5 步 - 会话密钥推导

会话密钥是从共享秘密和其他交换信息中推导出来的。这些密钥用于加密和解密通信。

第 6 步 - 密码初始化

双方使用导出的会话密钥初始化各自选择的加密和 MAC 算法。

第 7 步 - 数据完整性和加密

传输层为客户端和服务器之间的所有后续通信提供数据完整性检查和加密。

02 验证层

验证层验证客户端的身份,确保只有授权用户才能访问服务器。

第 1 步 - 服务请求

客户端请求 "ssh-userauth "服务。

第 2 步 - 身份验证方法广告

服务器公布可用的身份验证方法(如密码、公钥、键盘交互)。

第 3 步 - 客户端身份验证

客户端尝试使用一种或多种可用方法进行身份验证。常见方法包括:

第 4 步 - 身份验证成功/失败

如果客户端的凭据有效,服务器将允许访问。否则,客户端可尝试其他认证方法或关闭连接。

03 连接层

连接层将加密和认证通信复用为多个逻辑通道。

第 1 步 - 创建通道

客户端请求为各种类型的通信(如 shell 会话、文件传输、端口转发)打开通道。

第 2 步 - 信道请求

每个通道请求包括所需服务类型和任何附加参数等详细信息。

第 3 步 - 信道数据传输

数据通过已建立的信道传输。每个通道独立运行,允许多个服务在一个 SSH 连接上同时运行。

第 4 步 - 关闭通道

通道可以相互独立关闭,而不会影响整个 SSH 连接。关闭所有通道后,客户端即可终止 SSH 会话。

第 5 步 - 全局请求

连接层还支持全局请求,全局请求会影响整个连接而不是单个通道(例如,重新加密钥会话)。

来源:ByteByteGo内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯