SSH协议理论讲解

这篇具有很好参考价值的文章主要介绍了SSH协议理论讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

基本概念

SSH协议的组成

SSH工作原理

SSH版本协商阶段(确定V1版本或V2版本)

算法协商阶段

密钥交换阶段

用户认证阶段

会话交互阶段


基本概念

SSH(Secure Shell)安全外壳协议,是一种用于在不安全网络上进行安全远程登录和实现其他安全网络服务的协议(建立在应用层基础上的安全协议,TCP端口号22)

SSH协议的组成

SSH协议主要由三个组件组成

SSH协议理论讲解

SSH传输层协议-主要进行SSH版本协商、算法协商、密钥交换

SSH传输层和TCP的传输层是不同的概念,SSH传输层是一个安全传输协议

SSH传输层通常建立在TCP/IP连接上,但是也可以在任何可靠的数据流上建立

SSH用户认证协议-主要用于用户认证

为服务器提供客户端的用户鉴别,使得服务器信任客户端

运行在SSH传输层协议之上

SSH连接协议-主要用于建立SSH会话连接

运行在SSH运输层协议和用户认证协议之上

SSH会话连接可以复用成若干个逻辑通道(包含TCP/IP转发通道、X11通道、交互式登录会话通道、远程执行命令通道)  用的比较多的是交互式登录会话

TCP/IP转发通道

Telent、SMTP、IMAP等其它基于TCP/IP的不安全协议就可以通过此通道变得安全

X11通道

11是X协议的版本,Linux底层协议就是X协议

X11主要用于登录Linux图形化界面时使用的,保证通信安全

交互式登录会话通道

程序进行远程执行时,保证其安全(程序可以是Shell、应用程序、系统命令或一些内置的子系统)  例如通过Python进行远程配置时就通过此通道保证安全

在Python中通过Paramiko库的SSHClient类中的incoker_shell()方法可以开启交互式登录会话通道

远程执行命令通道

Linux执行命令(查看目录等)时保障其安全

在Python中通过Paramiko库的SSHClient类中的exec_command()方法可以开启远程执行命令通道

SSH协议理论讲解


SSH工作原理

为实现SSH的安全连接,服务器和客户端需要经历以下五个阶段

其中前三个阶段明文传输,后两个阶段密文传输

(以下介绍的SSH传输层协议是建立在TCP/IP连接上的)

SSH协议理论讲解

SSH版本协商阶段(确定V1版本或V2版本)

会话交互阶段报文交互

SSH协议理论讲解

SSH协商版本报文携带SSH版本号、次协议号、软件协议号

其中SSH版本号是必须携带的,此协议号和软件协议号可选

SSH协议理论讲解

SSH协议理论讲解

服务器如何协商SSH版本

服务器收到报文后,解析SSH版本号

如果客户端和服务器支持的版本号一致,则协商成功

如果客户端的SSH版本号比自己的低,且服务器能支持客户端的低版本,就使用客户端的协议号,协商成功;如果服务器不支持客户端的低版本,协商失败

如果客户端的SSH版本号比自己的高,则协商失败

不同版本的区别

SSH1没有对客户端的密钥进行校验,容易被植入恶意代码

SSH2增加了一个确认连接正确性的Diffe_Hellman机制,使得每次数据的传输,server都会检查数据来源的正确性,避免黑客入侵

并且SSH支持RSA和DSA密钥

算法协商阶段

确定密钥交换算法、公钥算法、对称加密算法、消息认证算法

算法类型

SSH协议理论讲解

算法协商阶段的报文交互

SSH协议理论讲解

服务器收到Client Key Exchange Init之后,根据客户端的算法查找自身的算法列表进行匹配

每种算法(密钥交换算法、公钥算法、加密算法、认证算法)都匹配成功才会进入下一阶段

SSH协议理论讲解

SSH协议理论讲解

服务器如何协商算法

服务器从客户端的算法列表取出第一个算法,在自己的算法列表中查找,如果协商成功,继续协商下一种算法;否则继续从客户端的算法列表中取出下一个算法进行协商

当服务器和客户端之间有多个相同的算法,则会根据算法的优先级选择优先级最高的算法

(例如:两边的认证算法都支持MD5和SHA,这个时候就会协商出一个优先级高的认证算法来使用)

密钥交换阶段

根据上阶段协商出来的密钥交换算法,动态产生会话密钥用于后续会话加密

密钥交换阶段报文交互

一般密钥交换算法使用DH算法,密钥交换过程类似IPsec的密钥交换过程

SSH协议理论讲解

SSH协议理论讲解

在密钥交换过程中私钥Xc,Xs始终是保密不传播的,由于DH算法的复杂其他用户即使获取了p,g,Yc,Ys也无法推断出私钥Xc,Xs,从而保证了会话密钥的安全性。

注意

密钥交换阶段产生的公私钥仅用于产生会话密钥,与后续用户认证无关

密钥交换阶段产生的公私钥在生成Session Key之后就会清除掉

密钥交换阶段完成后,后续所有报文交互均会被会话密钥Session Key加密

用户认证阶段

口令认证或公钥认证两种认证方式  报文被加密

口令认证方式

客户端通过用户名和密码登录到服务器,完成用户认证

每次认证都要输入用户名和密码

SSH协议理论讲解

公钥认证方式

服务器通过客户端的公钥解密客户端发来的数字签名,完成用户认证(信任客户端)

SSH协议理论讲解

会话交互阶段

进行报文交互   报文加密

SSH协议理论讲解文章来源地址https://www.toymoban.com/news/detail-436029.html

到了这里,关于SSH协议理论讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【矩阵论】7. 范数理论——基本概念——向量范数与矩阵范数

    矩阵论的所有文章,主要内容参考北航赵迪老师的课件 [注]由于矩阵论对计算机比较重要,所以选修了这门课,但不是专业搞数学的,所以存在很多口语化描述,而且对很多东西理解不是很正确与透彻,欢迎大家指正。我可能间歇性忙,但有空一定会回复修改的。 矩阵论 1

    2023年04月23日
    浏览(32)
  • HarmonyOS Stage模型基本概念讲解

    本文 我们来说harmonyos中的一种应用模型 Stage模型 官方提供了两种模型 一种是早期的 FA模型 另一种就是就是 harmonyos 3.1才开始的新增的一种模型 Stage模型 目前来讲 Stage 会成为现在乃至将来 长期推进的一种模型 也就是 无论是 现在的harmonyos 4.0 乃至 之后要发布的 harmonyos next

    2024年02月21日
    浏览(28)
  • 《网络协议》01. 基本概念

    title: 《网络协议》01. 基本概念 date: 2022-08-30 09:50:52 updated: 2023-11-05 15:28:52 categories: 学习记录:网络协议 excerpt: 互联网、网络互连模型(OSI,TCP/IP)、计算机通信基础、MAC 地址、ARP ICMP、IP 子网掩码、CIDR 表示方法、子网、超网、路由、网络 互联网 因特网、ISP、网络分类、上

    2024年02月05日
    浏览(33)
  • HDLC协议的基本概念和帧

    一、HDLC简介 HDLC是一种面向比特的网络节点之间同步传输数据的数据链路层协议。使用点到点链路连接,这个网络中只有你我,中间没有第三个节点,所以在封装HDLC帧的时候,不需封装SD地址。 由于串行通信有着传输距离远、成本低的特点,所以远距离、超远距离的通信中较

    2023年04月09日
    浏览(25)
  • MQTT协议基本讲解(结合netty)

    这里主要讲一下MQTT的结构,另外结合netty来说下具体参数的设置问题。 当然如果你想了解MQTT的所有设计规则,并且该怎么去实现每个规则细节,那么推荐你去 EMQX 官网,这个框架不仅对MQTT进行了深入的,通俗易懂的讲解,更是一个性能非常不错的MQTT broker服务端。 首先基本

    2024年02月08日
    浏览(30)
  • HTTPS协议详解:基本概念与工作原理

    个人主页: insist--个人主页​​​​​​ 本文专栏 :网络基础——带你走进网络世界 本专栏会持续更新网络基础知识,希望大家多多支持,让我们一起探索这个神奇而广阔的网络世界。 目录 一、HTTPS协议的基本概念

    2024年02月10日
    浏览(30)
  • PHY芯片的使用(一)之基本概念讲解(MII相关)2

    今天想和大家交流一下MAC和PHY之间的接口MII。 MII(Media Independent Interface )是介质无关接口。MII接口定义了在MAC层和物理层之间传送数据和控制状态等信息的接口,它是10M和100M兼容的接口,经过扩展后还可以用于1000M的MAC层与物理层的接口(GMII接口)。 1、个人使用心得交流 抛

    2024年02月09日
    浏览(30)
  • HTTP协议详解:基本概念与工作流程

    HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于在计算机网络上进行数据交换的通信协议。它是互联网上最常用的协议之一,被广泛应用于Web浏览器和服务器之间的通信。本文将深入探讨HTTP协议的基本概念和工作流程,帮助读者更好地理解这个重要的通信协议。

    2024年02月10日
    浏览(31)
  • 音频——I2S 协议基本概念(一)

    I2S 基本概念 飞利浦(I2S)标准模式 左(MSB)对齐标准模式 右(LSB)对齐标准模式 DSP 模式 TDM 模式 I2S 信号线有多种模式 五线 I2S 四线 DAC I2S 四线 ADC I2S 两线 TX I2S 两线 RX I2S 以五线 I2S 为例,各个信号线的功能及描述见下表 信号线 描述 SCLK 串行时钟,也叫位时钟(BCLK),对应数字⾳频

    2024年02月09日
    浏览(31)
  • Http 超文本传输协议基本概念学习摘录

    目录 HTTP协议 超文本传输协议 HyperText超文本 HTML超文本标记语言 HTTP协议原理 请求发送 服务器处理 响应发送 连接关闭或保持 HTTP协议版本 HTTP/0.9 HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/3 HTTP请求方法 GET POST PUT DELETE HEAD OPTIONS HTTP请求头字段 HTTP响应状态码 即超文本传输协议(HyperText Transfer

    2024年03月20日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包