第三章 远程连接服务器

embedded/2024/10/23 14:26:28/

介绍

1.1类型

  • 文字接口:

明文传输:Telnet、RSH

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

  • 图形接口:XDMCP\VNC\XRDP

2.1加密技术

非对称加密:公钥,私钥--互相解密

对称加密:一对钥匙

2.2加密技术

原理:服务器产生一对公私钥发给所有客户端,所有的客户端存储服务器的公钥,每个客户端加密对称密钥,每次协商后对称密钥更新,服务器用自己的私钥解密对称密钥

过程:

协商对称密钥

(2)密钥和算法协商阶段

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

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

3、服务器端和客户端利用DH交换(Diffie-Hellman Exchange)算法、主机密钥对等参数,生成会话密钥(对称密钥)和会话ID。 由此,服务器端和客户端就取得了相同的会话密钥和会话ID。对于后续传输的数据,两端都会使用会话密 钥进行加密和解密,保证了数据传送的安全。在认证阶段,两端会使用会话用于认证过程。

etc/passwd,etc/sh

会话密钥的生成:

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

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

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

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

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

删除后重启就可以更新

认证过程:

1.版本号协商

2.协商会话密钥:对称密钥

3.1口令认证,密码认证----认证前:将公钥放在/root/.ssh/authorized_keys 文件下

3.2密钥认证:

【1】把公钥发给服务器

【2】服务端生成随机字符串,先公钥加密信息,再用对称密钥加密

【3】客户端用私钥解密 获得随机字符串和用对称密钥加密过的信息,再用协商好的对称密钥解密,发给服务器

【4】服务器用对称密钥解密,一致则成功

实验四--免密登录


http://www.ppmy.cn/embedded/129833.html

相关文章

Golang | Leetcode Golang题解之第497题非重叠矩形中的随机点

题目: 题解: type Solution struct {rects [][]intsum []int }func Constructor(rects [][]int) Solution {sum : make([]int, len(rects)1)for i, r : range rects {a, b, x, y : r[0], r[1], r[2], r[3]sum[i1] sum[i] (x-a1)*(y-b1)}return Sol…

Zookeeper面试整理-Zookeeper的基础概念

Zookeeper的基础概念是理解其作为分布式协调服务的核心要素。以下是一些关键的基础概念: 1. Zookeeper是什么? Zookeeper 是一个开源的分布式协调服务,用于分布式应用中的配置管理、命名服务、分布式锁、集群管理等任务。它提供了一组简单的原语,帮助开发人员构建健壮的分布…

动态规划20:918. 环形子数组的最大和

动态规划解题步骤: 1.确定状态表示:dp[i]是什么 2.确定状态转移方程:dp[i]等于什么 3.初始化:确保状态转移方程不越界 4.确定填表顺序:根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接:918.…

创建型模式-----(单例模式)

目录 基本概念 饿汉式: 懒汉式: 上锁双判空版本 std::call_once版本: C11标准后局部静态变量版本: 项目中单例模板的应用 基本概念 单例模式:在程序运行期间只有一份,与程序生存周期一样,…

告别微信封号!学会这5招,让你的账号坚不可摧

在这个信息爆炸的时代,无论是工作沟通、社交互动还是获取信息,微信都扮演着极其重要的角色。但是,随着微信平台规则的日益严格,账号被封的风险也随之增加。今天,我们就来聊聊如何有效防止 微信被封,让你的账…

Flutter中使用Cookies

Cookie Cookie 是一种在用户的浏览器中存储的小型文本文件,用于保存有关用户和他们的访问信息。它们通常用于以下目的: 主要功能 会话管理:保持用户登录状态,例如识别已登录的用户。个性化设置:保存用户的偏好设置&a…

开发常见错误状态码

一些常见的 HTTP 状态码及其描述,这些状态码在后端开发中经常遇到。这些状态码分为几类:信息性状态码、成功状态码、重定向状态码、客户端错误状态码和服务器错误状态码。 信息性状态码 (1xx) 100 Continue:客户端应继续其请求。101 Switch…

《软件报价全攻略:深入剖析与精准决策》

《软件报价全攻略:深入剖析与精准决策》 一、软件报价基础认知二、软件开发价格估算方法(一)公式构成与解析(二)工作量计算要素(三)开发费用构成 三、不同软件报价案例分析(一&#…