什么是SSH

article/2025/9/15 15:29:24

一、什么是远程连接服务器

1、远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。

2、远程连接服务器的功能

1)分享主机运算能力

2)服务器类型,有限度开放连接

3)工作站类型,只对内网开放

3、常见的远程管理工具方式:(以登录的连接界面来分类)

文字接口

         明文传输:Telnet、RSH等,目前非常少用

         加密传输:SSH为主,已经取代明文传输

图形接口:XDMCP、VNC、XRDP等

1)RDP(remote desktop protocal )协议,windows远程桌面管理(图形界面),win+R 输入mstsc

2)telenet CLI界面下远程管理,几乎所有操作系统都有(内容明文传输)

3)ssh  CLI界面下的远程管理,几乎所有操作系统都有(内容加密传输) 类unix系统下主要

4、远程管理方式(linux BSD Macos)     

RFB (remote framebuffer) 图形化远程管理协议 VNC (Virtual Network Computing)使用的协议。(在linux unix Macos 下的图形界面远程管理工具)

二、文字接口连接服务器

SSH(Secure Shell Protocol,安全的壳程序协议),它可以通过数据包加密技术将等待传输的数据包加密后再传输到网络上。ssh协议本身提供两个服务器功能:一个是类似telnet的远程连接使用shell的服务器;另一个就是类似ftp服务的sftp-server,提供更安全的ftp服务。

SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

1、SSH代表安全外壳(Secure Shell),它现在是通过互联网访问网络设备和服务器的唯一的主要协议。

2、SSH默认情况下通过端口22运行;端口可以修改

3、SSH是一种非常安全的协议,因为它共享并发送经过加密的信息,从而为通过互联网等不安全的网络访问的数据提供了机密性和安全性。

4、一旦通讯的数据使用SSH经过加密,就极难解压和读取该数据,所以我们的密码在公共网络上传输也变得很安全。

5、SSH还使用公钥用于对访问服务器的用户验证身份,这是一种很好的做法,为我们提供了极高的安全性。

6、SSH主要用在所有流行的操作系统上,比如Unix、Solaris、Red-Hat Linux、CentOS和Ubuntu等。

三、TELNET

1、Telnet是电信(Telecommunications)和网络(Networks)的联合缩写,这是一种在UNIX平台上最为人所熟知的网络协议。

2、Telnet使用端口23,它是专门为局域网设计的。

3、Telnet不是一种安全通信协议,因为它并不使用任何安全机制,通过网络/互联网传输明文格式的数据,包括密码,所以谁都能嗅探数据包,获得这个重要信息。

4、Telnet中没有使用任何验证策略及数据加密方法,因而带来了巨大的安全威胁,这就是为什么telnet不再用于通过公共网络访问网络设备和服务器。

四、连接加密技术

1、目前常见的网络数据包加密技术通常是通过“非对称密钥系统”来处理的。主要通过两把不一样的公钥与私钥来进行加密与解密的过程。

公钥(public key):提供给远程主机进行数据加密的行为,所有人都可获得你的公钥来将数据加密。

私钥(private key):远程主机使用你的公钥加密的数据,在本地端就能够使用私钥来进行解密。私钥只有自己拥有。

2、对称密钥加密,又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据

五、秘钥技术证书作用

1、PFX

公钥加密技术12号标准(Public Key Cryptography Standards #12,PKCS#12)为存储和传输用户或服务器私钥、公钥和证书指定了一个可移植的格式。它是一种二进制格式,这些文件也称为PFX文件。

CER: 用于存储公钥证书的文件格式

RSA:算法是一种非对称密码算法

2、PKI(Public Key Infrastructure ) 即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。

3、PKI体系能够实现的功能有:

1)身份认证

2)数据完整性

3)数据机密性

4)操作的不可否认性

4、什么是证书

证书用于保证密钥的合法性

证书把公钥与拥有对应私钥的主体标识信息捆绑在一起

证书的主体可以是用户、计算机、服务等

证书格式遵循X.509标准

X.509是由国际电信联盟制定的数字证书标准

使用者的公钥值

使用者标识信息(如名称和电子邮件地址)

有效期(证书的有效时间)

颁发者标识信息

颁发者的数字签名

证书可以应用于

Web服务器身份验证

Web用户身份验证

安全电子邮件

Internet协议安全(IPSec)

数字证书由权威公正的第三方机构即CA签发

5、CA的作用

CA(Certificate Authority,证书颁发机构)

CA的核心功能是颁发和管理数字证书

CA的作用

处理证书申请

鉴定申请者是否有资格接收证书

证书的发放

证书的更新

接收最终用户数字证书的查询、撤销

产生和发布证书吊销列表(CRL)

数字证书的归档

密钥归档

历史数据归档

6、证书发放过程

六、ssh远程连接验证方式

从客户端来看,SSH提供两种级别的安全验证。

1)第一种级别(基于口令的安全验证)

只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

Mod_ssl

2)第二种级别(基于密匙的安全验证)

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。

第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒  。

七、ssh建立连接的完整过程

SSH工作过程:在整个通讯过程中,为实现SSH的安全连接,服务端与客户端要经历如下五个阶段:

过程

说明

版本号协商阶段

SSH目前包括SSH1和SSH2两个版本,双方通过版本协商确定使用的版本

密钥和算法协商阶段

SSH支持多种加密算法,双方根据本端和对端支持的算法,协商出最终使用的算法

认证阶段

SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证

会话请求阶段

认证通过后,客户端向服务器端发送会话请求

交互会话阶段

会话请求通过后,服务器端和客户端进行信息的交互

1、版本协商阶段

1)服务器端打开端口22,等待客户端连接;

2)客户端向服务器端发起TCP初始连接请求,TCP连接建立后,服务器向客户端发送第一个报文,包括版本标志字符串,格式为“SSH-<主协议版本号>.<次协议版本号>.<软件版本号>”,协议版本号由主版本号和次版本号组成,软件版本号主要是为调试使用。

3)客户端收到报文后,解析该数据包,如果服务器的协议版本号比自己的低,且客户端能支持服务器端的低版本,就使用服务器端的低版本协议号,否则使用自己的协议版本号。

4)客户端回应服务器一个报文,包含了客户端决定使用的协议版本号。服务器比较客户端发来的版本号,决定是否能同客户端一起工作。如果协商成功,则进入密钥和算法协商阶段,否则服务器断开TCP连接。

说明:上述报文都是采用明文方式传输。

2、密钥和算法协商阶段

1)服务器端和客户端分别发送算法协商报文给对端,报文中包含自己支持的公钥算法列表、加密算法列表、MAC(Message Authentication Code,消息验证码)算法列表、压缩算法列表等等。

2)服务器端和客户端根据对端和本端支持的算法列表得出最终使用的算法。

3)服务器端和客户端利用DH交换(Diffie-Hellman Exchange)算法、主机密钥对等参数,生成会话密钥和会话ID。

由此,服务器端和客户端就取得了相同的会话密钥和会话ID。对于后续传输的数据,两端都会使用会话密钥进行加密和解密,保证了数据传送的安全。在认证阶段,两端会使用会话用于认证过程。

3、会话密钥的生成:

1)客户端需要使用适当的客户端程序来请求连接服务器,服务器将服务器的公钥发送给客户端。(服务器的公钥产生过程:服务器每次启动sshd服务时,该服务会主动去找/etc/ssh/ssh_host*文件,若系统刚装完,由于没有这些公钥文件,因此sshd会主动去计算出这些需要的公钥文件,同时也会计算出服务器自己所需要的私钥文件。)

2)服务器生成会话ID,并将会话ID发给客户端。

3)若客户端第一次连接到此服务器,则会将服务器的公钥数据记录到客户端的用户主目录内的~/.ssh/known_hosts。若是已经记录过该服务器的公钥数据,则客户端会去比对此次接收到的与之前的记录是否有差异。客户端生成会话密钥,并用服务器的公钥加密后,发送给服务器。

4)服务器用自己的私钥将收到的数据解密,获得会话密钥。

5)服务器和客户端都知道了会话密钥,以后的传输都将被会话密钥加密。

4、认证阶段

SSH提供两种认证方法:

基于口令的认证(password认证):客户端向服务器发出password认证请求,将用户名和密码加密后发送给服务器,服务器将该信息解密后得到用户名和密码的明文,与设备上保存的用户名和密码进行比较,并返回认证成功或失败消息。

基于密钥的认证(publickey认证):客户端产生一对公共密钥,将公钥保存到将要登录的服务器上的那个账号的家目录的.ssh/authorized_keys文件中。认证阶段:客户端首先将公钥传给服务器端。服务器端收到公钥后会与本地该账号家目录下的authorized_keys中的公钥进行对比,如果不相同,则认证失败;否则服务端生成一段随机字符串,并先后用客户端公钥和会话密钥对其加密,发送给客户端。客户端收到后将解密后的随机字符串用会话密钥发送给服务器。如果发回的字符串与服务器端之前生成的一样,则认证通过,否则,认证失败。

注:服务器端对客户端进行认证,如果认证失败,则向客户端发送认证失败消息,其中包含可以再次认证的方法列表。客户端从认证方法列表中选取一种认证方法再次进行认证,该过程反复进行。直到认证成功或者认证次数达到上限,服务器关闭连接为止。


http://chatgpt.dhexx.cn/article/NA7Tiv7U.shtml

相关文章

Ubuntu 怎么开启SSH

这里使用虚拟机演示&#xff0c;ubuntu版本 22.10 1、安装ubuntu时启用SSH 在安装ubuntu时会提示是否需要安装 OpenSSH server 如果在这里勾选安装后&#xff0c;则不需要在使用命令进行安装 OpenSSH server 2、使用命令安装启用 SSH 01、切换 root 用户&#xff0c;如果未设…

SSH是什么??

首先&#xff0c;SSH是strutsspringhibernate的一个集成框架&#xff0c;它不是一个框架&#xff0c;而是把多个框架紧密的结合在一起&#xff0c;用于构建灵活的多层Web应用程序。然后详细说一下组成SSH的这三个框架&#xff1a; Struts 1.什么是Struts&#xff1f;&#xff…

linux之ssh命令详解

ssh是什么呢&#xff1f;&#x1f449;百科上是这么说的 随便插张图 简单来说&#xff0c;在linux中SSH是非常常用的工具&#xff0c;通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上&#xff0c;也就是说&#xff0c;我们可以通过ssh来远程控制我们的电脑或者服务器…

什么是SSH 以及常见的ssh 功能

一、SSH SSH只是一种协议&#xff0c;存在多种实现&#xff0c;既有商业实现&#xff0c;也有开源实现。本文针对的实现是OpenSSH&#xff0c;它是自由软件&#xff0c;应用非常广泛。这里只讨论SSH在Linux Shell中的用法。如果要在Windows系统中使用SSH&#xff0c;会用到另一…

ssh服务介绍

阅读目录 1.1 SSH服务协议说明1.2 SSH加密技术说明1.3 ssh知识要点&#xff1a;1.4 SSH服务软件详细说明1.5 ssh服务配置文件说明&#xff1a;1.6 ssh服务认证类型1.7 基于秘钥登录配置1.8 telnet服务简介1.9 进行免密码scp传输测试1.10 使用sftp进行基于密钥的文件传输1.11 ss…

SSH 详解(实践及应用)

目录 1.SSH 基本知识 2.SSH 客户端 2.1 安装 2.2 基本用法 2.3 命令行配置项 2.4 配置文件 3 SSH 密钥 3.1 密钥生成 3.2 公钥上传 4 SSH 代理 4.1 动态转发 4.2 本地转发 4.3 远程转发 4.4 实际运用 5 SCP命令 5.1 本地复制到远程 5.2 远程复制到本地 5.3 两…

H3C双向NAT典型组网配置案例

组网说明&#xff1a; 本案例采用H3C HCL模拟器来模拟实现双向NAT的组网&#xff0c;由于模拟器和本物理机的局限性&#xff0c;因此采用模拟器的S5820交换机开启WEB功能模拟成为WEB服务器。在该网络拓扑图中&#xff0c;内网和外网已经有了明确的标识&#xff0c;某局点申请了…

基于华三HCL模拟器IPSec VPN组网与配置

一、实验原理 IPsec在互联网中提供端到端的数据报通信安全&#xff0c;通过加密和认证方式保护IP数据报及其封装的数据。IPsec是一个框架协议&#xff0c;包括AH、ESP、SA、IKE等协议。IPsec可以采用直接传输和隧道封装两种模式工作&#xff0c;在通过互联网承载的站点间VPN中…

华为IPSec VPN的配置

目录 概念 阶段一 阶段二 IPSec的配置实验 先进行基配置&#xff0c;保证路由可达 配置阶段一 配置ike提案 配置ike邻居 配置阶段二 定义感兴趣流 把ipsec策略应用到接口 结果测试 概念 IPSec是一个框架&#xff0c;它不是具体指某个协议&#xff0c;而是定义了一个框…

【组网工程】cisco packet tracer 路由器组网

验证性 | 设计性 路由器组网 正文开始Assassin目录&#xff1a; 验证性 | 设计性 路由器组网1. 静态路由和默认路由配置&#xff1a;1.1 配置ip地址 | ping&#xff1a;1.2 配置静态路由 | 默认路由&#xff1a; 2. RIP路由协议配置&#xff1a;2.1 配置ip地址 | ping&#xf…

MPLS 网络技术 — 组网方案

目录 文章目录 目录单域 MP-BGP MPLS VPN基本组网方案Hub & Spoke 组网方案Extranet 组网方案跨域 MP-BGP MPLS VPNInter-Provider Backbones Option AInter-Provider Backbones Option BInter-Provider Backbones Option C单域 MP-BGP MPLS VPN 单域 MP-BGP MPLS VPN 在一…

常见组网方式

随着家庭上网场景的不断增多&#xff0c;客厅、书房、卧室渐渐都需要接入网络&#xff0c;单独路由器Wi-Fi已无法全覆盖&#xff0c;而多台路由器组网技术的出现&#xff0c;极大改善了家庭的上网体验。经过多年的演进&#xff0c;从传统的中继组网、ACAP组网、电力猫组网&…

综合组网实例配置 双出口双墙主备+三层核心VRRP+MSTP+NAT+NAT SERVER+AC+IPsec+广域网PPPOE+专线

一、 组网需求 企业的两台FW的业务接口都工作在三层,使用路由模式进行部署&#xff0c;上下行分别连接交换机。上行交换机连接路由器&#xff0c;下行连接核心交换机。路由器连接二个运营商的接入点&#xff0c;运营商其一为企业提供专线业务&#xff0c;其分配的IP地址为202.1…

Keepalived高性能集群软件详解

一、高可用集群HA 1、高可用集群简介 高可用集群(High Availability Cluster,简称HA Cluster),是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断地提供服务,把因为软件,硬件,人为造成的故障对业务的影响降低到最小程度。总而言之就…

了解集群、集群的分类、常用的集群软硬件及选型介绍(内附详细图解)

Table of Contents 一、集群简介 二、集群的七大优点 三、集群的分类 四、常用的集群软硬件及选型介绍 一、集群简介 集群就是一组&#xff08;若干个&#xff09;相互独立的计算机&#xff0c;利用高速通信网络组成的一个较大的计算机服务系统&#xff0c;每个集群节点&…

高可用 - 01 闲聊高性能集群

文章目录 什么是集群集群的特点与功能1. 高可用性与可扩展性2. 负载均衡与错误恢复3. 心跳监测与漂移IP地址 集群的分类1. 高可用集群高可用的概念常见的HA集群双机冷备双机热备双机互备多机互备 高可用集群软件 2. 负载均衡集群3. 分布式计算集群 HA集群中的相关术语1&#xf…

集群管理

集群管理 应用集群中&#xff0c;我们常常需要让每一个机器知道集群中&#xff08;或依赖的其他某一个集群&#xff09;哪些机器是活着的&#xff0c;并且在集群机器因为宕机&#xff0c;网络断链等原因能够不在人工介入的情况下迅速通知到每一个机器。 Zookeeper同样很容易实…

CentOS8系统安装LSF集群管理软件

一、什么是LSF&#xff1f; LSF&#xff08;Load Sharing Facility&#xff09;是IBM旗下的一款分布式集群管理系统软件&#xff0c;负责计算资源的管理和批处理作业的调度。常用的分布式集群管理系统软件有PBS、SLURM、LSF。 二、安装环境&#xff08;虚拟机&#xff09; 主机…

集群解决方案

集群概念 集群是一种计算机系统&#xff0c; 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上&#xff0c;他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点&#xff0c;通常通过局域网连接&#xff0c;但也有其它…

集群集群

一、什么是集群 集群&#xff08;Cluster &#xff09;是将多个单独存在的服务器&#xff0c;通过集群技术将其集合&#xff0c;构成一个工作组、一台大型的服务器&#xff0c;以单一系统的模式加以管理。 简而言之&#xff0c;集群就是将多台机器组合成一台机器使用。 二、…