您当前的位置:首页 > 电脑百科 > 网络技术 > 网络软件

5分钟理解SSH的工作原理

时间:2019-06-24 11:24:00  来源:  作者:

SSH是一种协议标准,它的主要目的是实现远程登录和提供安全网络服务。它的实现有很多种,最常用的就是开源openssh。

对称加密和非对称加密

在讲解SSH实现原理之前,我们先来了解下加密方式,我们都知道为了数据的安全,数据在互联网上传输肯定是要加密。那加密又要分为两种加密方式:

  1. 对称加密(秘钥加密)
  2. 非对称加密(公钥加密)

对称加密,就是加密和解密都是使用同一套秘钥。看下图所示:

 

5分钟理解SSH的工作原理

 

 

服务端和客户端的交互过程如下图:

 

5分钟理解SSH的工作原理

 

 

 

对称加密的加密强度很高,但是这有一个很大的问题。就是:如何保证秘钥A的安全?当客户端的数量非常大的时候,如何保证秘钥的安全?一旦秘钥泄漏出去,后果不堪设想。用户的安全就没有任何保障。所以非对称加密的出现就为了弥补这一点。

非对称加密有两个秘钥:“私钥”和“公钥”。公钥加密后的密文,只能通过对应的私钥进行解密。而通过公钥推理出私钥的可能性微乎其微。下图展示的是基本原理:

 

5分钟理解SSH的工作原理

 

 

上图在实际的使用中存在一个问题,就是客户端需要知道服务端的公钥,不然没法加密。所以需要服务端告知客户端公钥的一个过程。如下图:

 

5分钟理解SSH的工作原理

 

 

  1. 服务端收到客户端的登录请求,服务端把公钥发送给客户端
  2. 客户端用这个公钥,对密码加密
  3. 客户端将加密后的密码发送给服务端
  4. 服务端用私钥解密,验证OK
  5. 返回验证结果

私钥是服务端独有,这就保证了客户端的登录信息即使在网络传输过程中被窃据,也没有私钥进行解密,保证了数据的安全性,这充分利用了非对称加密的特性。

你觉得这样就安全了吗?

上述图中有一个漏洞:客户端如何保证接受到的公钥就是目标服务端的?如果攻击者截获了客户端的请求,发送自己的公钥,那客户端用这个公钥加密的密码,就能被攻击者用自己的私钥解密。这不是一个很大的漏洞吗?

SSH如何做的?

SSH有两种方式:1. 基于口令的认证;2,基于公钥认证

1. 基于口令的认证

从上面可以知道,我们的主要要解决的是“如何对服务端的公钥进行验证”,客户端只要对公钥进行确认下就OK了。通常在第一次登录的时候,系统会出现下面提示信息:

The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
Are you sure you want to continue connecting (yes/no)? 

上面的信息说的是:无法确认主机ssh-server.example.com(12.18.429.21)的真实性,不过知道它的公钥指纹,是否继续连接?

之所以用fingerprint代替key,主要是key过于长(RSA算法生成的公钥有1024位),很难直接比较。所以,对公钥进行hash生成一个128位的指纹,这样就方便比较了。

输入yes后,该host已被确认,并被追加到文件known_hosts中,然后就需要输入密码。

2基于公钥认证

  1. 客户端与服务端协商产生会话密钥;
  2. 客户端会向服务端发送一个登录请求(如:root@192.168.1.2),发送的信息包括用户名root和root的公钥指纹,且所有信息都是通过会话密钥加密过的。
  3. 服务端通过会话密钥解密客户端发送的数据得到请求登录的用户名root和root的公钥指纹,然后读取root用户家目录下的所有公钥数据(/root/.ssh/autorized_keys文件中),并分别通过单向加密算法获取各公钥的数据指纹与客户端发送过来的数据指纹做对比,从而找到客户端上的root用户的公钥;
  4. 服务端使用找到的客户端的公钥对一个随机数进行加密发送发送给客户端;
  5. 客户端使用私钥对服务端发送的随机数密文进行解密,然后把解密结果发送给服务端;
  6. 服务端验证客户端解密后的数据与自己发送的数据一致,则对客户端身份验证成功;
  7.  


Tags:SSH   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  Tags: SSH  点击:(16)  评论:(0)  加入收藏
在本教程中,将展示如何使用Centos8的DVD镜像引导Rescue救援模式,并在救援模式中启用网络、配置SSH服务,供用户远程登录该服务器 系统环境Centos8加载ISO镜像,进入救...【详细内容】
2021-11-30  Tags: SSH  点击:(29)  评论:(0)  加入收藏
事件起因从安全分析系统里面发现一条带有病毒的下载,然后针对这条记录展开了一系列的分析分析过程1.登录到被感染服务器,查看系统状况,hadoop 这个用户在 2020/6/18 20:32 从这...【详细内容】
2021-11-23  Tags: SSH  点击:(32)  评论:(0)  加入收藏
1.背景介绍几乎每一个玩渗透的人都会接触到metasploit framework,简称msf。这是一个渗透测试框架,用ruby语言编写的,该框架集成了很多可用的exploit,比如著名的ms08_067等。你可...【详细内容】
2021-11-15  Tags: SSH  点击:(37)  评论:(0)  加入收藏
老配置文件导到新交换机上,SSH不能登陆,会提示Received disconnect from 192.168.2.163: 2: The connection is closed by SSH ServerCurrent FSM is SSH_Main_VersionMatch其...【详细内容】
2021-10-26  Tags: SSH  点击:(162)  评论:(0)  加入收藏
背景上次给大家介绍了实现基础的运维系统功能—webssh,今日书接上回,继续给大家介绍一个web远程ssh终端录像回放功能。 一、思路网上查了一下资料,搜索了一下关于实现webs...【详细内容】
2021-10-13  Tags: SSH  点击:(40)  评论:(0)  加入收藏
一、背景介绍Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称叫做MSF。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的...【详细内容】
2021-09-28  Tags: SSH  点击:(64)  评论:(0)  加入收藏
目的本文的目的是指导在Windows操作系统下面,如何配置通过ssh key来访问gerrit服务器。检查并生成本地的ssh key检查是否已经存在ssh key在生成本地的ssh key之前,我们需要首...【详细内容】
2021-07-23  Tags: SSH  点击:(129)  评论:(0)  加入收藏
作者:左右里编辑:釉子 据BitDefender安全研究人员称,他们发现了一个黑客组织正在以SSH暴力破解的方式攻击Linux设备,目的是在这些设备上安装门罗币恶意挖矿软件。SSH,一种为远程...【详细内容】
2021-07-22  Tags: SSH  点击:(186)  评论:(0)  加入收藏
今天在虚拟机里面安装了docker,利用docker起了一个centos。里面配置完成openssh后,利用xsheel连接docker里面的centos,发现特别慢,差不多要的1分钟才能连接上去。这肯定是有问题...【详细内容】
2021-07-21  Tags: SSH  点击:(131)  评论:(0)  加入收藏
▌简易百科推荐
说到远程控制,首先你会想到的是什么?是TeamViewer 还是向日葵?抑或是QQ远程还是anydesk?对,就在不久前,我们熟知的都是以上的产品,但是只2020年开始,一款新的远控产品ToDesk进入到我...【详细内容】
2021-12-27  网管世界    Tags:ToDesk   点击:(4)  评论:(0)  加入收藏
# 1. nps-npc1.1 简介nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh...【详细内容】
2021-12-22  大数据推荐杂谈    Tags:内网穿透   点击:(8)  评论:(0)  加入收藏
“磨刀不误砍柴工”。 优秀的工具有助于提高工作效率,安全工程师也需要优秀的安全软件来提高工作效率。 在具体的工作场景中,有很多种选择,这里有10种开源的免费安全工具,不仅可...【详细内容】
2021-11-23  山东云管家官方    Tags:安全工具   点击:(33)  评论:(0)  加入收藏
火绒安全软件是一款小巧精悍、独立纯粹的国产安全软件.有很多网友都下载安装了火绒安全软件使用.那么火绒安全软件怎么样呢,火绒安全软件好用吗?下面小编就给大家分析下详解...【详细内容】
2021-11-03  装机吧    Tags:火绒   点击:(34)  评论:(0)  加入收藏
背景上次给大家介绍了实现基础的运维系统功能—webssh,今日书接上回,继续给大家介绍一个web远程ssh终端录像回放功能。 一、思路网上查了一下资料,搜索了一下关于实现webs...【详细内容】
2021-10-13  小堂运维笔记    Tags:ssh终端   点击:(40)  评论:(0)  加入收藏
QuickPing快速Ping扫描器QuickPing,哪些地址已经使用,哪些可用,图形界面非常直观,而且可以导出列表,该软件体积很小,可以快速的知道网段内哪些主机已经开启,ping成功的即显示出不同...【详细内容】
2021-10-11  海南弱电李工    Tags:网管   点击:(66)  评论:(0)  加入收藏
1、每个项目根据现场的网络环境不同,需要定义不同的IP地址,通过此工具可以快速配置。而且有助于做项目实施资料。2、以前连接过的wifi密码自带记忆功能,通过检索对应的WiFi名字...【详细内容】
2021-10-08  IT游侠    Tags:局域网管理   点击:(49)  评论:(0)  加入收藏
01概述无论是开发还是测试,在工作中经常会遇到需要抓包的时候。本篇文章主要介绍如何在各个平台下,高效的抓包。目前的抓包软件总体可以分为两类: 一种是设置代理抓取http包,比...【详细内容】
2021-09-28  小码哥聊软件测试    Tags:网络抓包   点击:(103)  评论:(0)  加入收藏
Fiddler 简介Fiddler 是位于客户端和服务器端的 HTTP 代理 目前最常用的 http 抓包工具之一 功能非常强大,是 Web 调试的利器关注+转发+私信【软件测试】领取Fiddler安装包和...【详细内容】
2021-09-28  土豆聊软件测试    Tags:抓包工具   点击:(63)  评论:(0)  加入收藏
前言上次有写过一篇《20张图深度详解MAC地址表、ARP表、路由表》的文章,里面有提到了MAC地址表。那么什么是MAC地址表?MAC地址表有什么作用?MAC地址表里面包含了哪些要素?今天...【详细内容】
2021-09-09  网络工程师笔记    Tags:MAC地址表   点击:(76)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条