网站首页 > 开源技术 正文
在计算机网络中,需要登录远程计算机。从历史上看,这是通过 Telnet(始于 20 世纪 60 年代末)和 rlogin(始于 20 世纪 80 年代)实现的。然而,这些早期的程序并不安全。SSH(Secure Shell)是为解决这些缺陷而创建的协议。它在不安全的网络上建立安全连接。
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 步 - 客户端身份验证
客户端尝试使用一种或多种可用方法进行身份验证。常见方法包括:
- 密码验证:客户端向服务器发送密码,由服务器进行验证。
- 公钥验证:客户端证明拥有与先前注册的公钥相对应的私钥。
- 键盘交互式身份验证:服务器向客户端发送提示,客户端回复所需的信息(如 OTP、安全问题)。
第 4 步- 身份验证成功/失败
如果客户端的凭据有效,服务器将允许访问。否则,客户端可尝试其他认证方法或关闭连接。
03 连接层
连接层将加密和认证通信复用为多个逻辑通道。
第 1 步- 创建通道
客户端请求为各种类型的通信(如 shell 会话、文件传输、端口转发)打开通道。
第 2 步 - 信道请求
每个通道请求包括所需服务类型和任何附加参数等详细信息。
第 3 步 - 信道数据传输
数据通过已建立的信道传输。每个通道独立运行,允许多个服务在一个 SSH 连接上同时运行。
第 4 步 - 关闭通道
通道可以相互独立关闭,而不会影响整个 SSH 连接。关闭所有通道后,客户端即可终止 SSH 会话。
第 5 步 - 全局请求
连接层还支持全局请求,全局请求会影响整个连接而不是单个通道(例如,重新加密钥会话)。
猜你喜欢
- 2024-10-05 HTTPS 温故知新(五)——TLS 中的密钥计算
- 2024-10-05 操作系统:SSH协议知识介绍(ssh协议工作过程图)
- 2024-10-05 SSH 揭秘:安全远程访问的基石(安全远程连接协议)
- 2024-10-05 大数据学习环境搭建系列(十一)安装SSH服务
- 2024-10-05 Linux系统的启动过程和远程登录(linux远程启动进程)
- 2024-10-05 SSH远程连接服务详解(ssh远程连接服务器,使用什么端口号)
- 2024-10-05 SSH协议基本工作原理介绍(ssh协议主要由什么组成)
- 2024-10-05 SSH 简介:安全远程访问的利器(ssh远程登录功能配置)
- 2024-10-05 在 CentOS 7 中安装 SSH(centos6.5安装ssh)
- 2024-10-05 深入理解SSH:网络安全的守护者(sase 网络安全)
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)