MSE Nacos:解决敏感配置的安全隐患

作者:察溯

前言

Nacos 简介

Nacos [ 1] 是一个更易于构建云原生应用的配置管理和服务管理平台。Nacos 的配置中心具有众多优势:动态实时更新配置、支持水平扩展的高可用系统架构、API 简单易上手、开源免费、多语言支持、集成度高等。基于以上特点,Nacos 逐渐成为配置管理的事实标准,被越来越多的开发者接纳。

敏感数据的安全挑战

很多用户在使用 Nacos 的配置管理功能时,逐渐开始在 Nacos 中存储敏感数据(如数据源、Token、用户名和密码等)。首先,用户自建的 Nacos 实例并未接入过多的安全防护,很容易受到安全攻击;其次,采用明文格式存储的敏感信息,很容易被窃取,给公司的信息安全带来了极大的隐患。

国家三级等保 [ 2] (三级信息安全等级保护)是针对重要信息系统的安全保护要求。其中对于应用与数据安全,提出了如下要求:

  1. 软件开发过程应遵循安全编码原则,减少潜在漏洞。

  2. 数据存储和处理过程中应进行必要的加密,同时也要有数据完整性检查机制。

针对数据安全隐患,MSE Nacos 可为敏感配置提供满足国家三级等保中数据安全要求的解决方案。

本文就向大家介绍,MSE Nacos 是如何解决敏感配置的安全隐患,并提供使用 MSE Nacos 加解密敏感配置的最佳实践。

MSE Nacos:解决敏感数据的安全隐患

简介

MSE [ 3] 是 Aliyun 推出的一个面向业界主流开源微服务生态的一站式微服务平台,提供注册配置中心(原生支持 Nacos/ZooKeeper/Eureka),具备如下优势:100% 兼容开源生态&功能增强、全托管服务、高可用、可视化等特点。

MSE Nacos 的配置中心,针对敏感配置的安全性问题,结合 KMS 密钥管理服务,推出了敏感配置的加解密功能,可显著降低存储在 Nacos 配置中心的敏感数据的泄露风险。

方案

产品架构

MSE Nacos 为敏感配置加解密提供了集成方案:KMS 为配置加解密,MSE Nacos 存储加密后的敏感配置。整体的产品逻辑架构图如下:

图片

可以从整体的架构逻辑中看到,整个方案中敏感配置都是密文传输、密文存储,可显著提升敏感配置的安全性。

安全特性

从国家三级信息安全等级保护角度来看,MSE Nacos 集成 KMS 的配置加解密方案做到了以下几点:

1. 数据存储加密

在应用侧对敏感数据加密处理,将密文存储在 Nacos 配置中心,有效防止敏感数据泄露。

2. 数据传输加密

MSE Nacos 可帮助用户配置并开启 TLS 数据传输加密,确保传输链路安全、数据不可被窃取。

3. 数据备份与恢复

在应用侧,Nacos Client 会落盘存储加密后的配置数据。在 MSE Console 中,可一键导出/导入明文配置、密文配置,可为用户建立数据备份策略,提供有效的路径。后续,MSE Console 计划接入密文数据的定期备份策略,敬请期待。

4. 数据生命周期管理

MSE 可为用户提供一站式的配置生命周期的管理,在 MSE Console 可以完成加密配置、普通配置的创建、修改、查看、删除等管理操作。

5. 数据访问权限控制

MSE 提供细粒度(细粒度到单个配置维度)的 RAM 权限管控,用户可结合实际场景,配置细粒度、多维度的的权限管控策略。

6. 数据审计

MSE 会记录所有的配置操作记录,包括配置变更时间、操作人、变更内容等关键信息,使得整个数据流程可追溯。

MSE Nacos 配置加解密原理

MSE Nacos 提供的敏感配置加密功能,能否有效保护用户的敏感数据呢?MSE Nacos 是怎么做的呢?相信这是绝大多数用户的问题,因为整个流程对用户而言是黑盒模式,用户无法得知 MSE Nacos 是否真如其对外宣称的“能为用户提供安全、高效的敏感配置加密能力”。这里将详细阐述,MSE Nacos 对用户配置加解密的整个链路详情,以化解用户顾虑。

这里有一张 MSE Nacos 对配置加解密的整体链路图,详细的阐述了整个配置加解密链路,下面详细展开讲解。

图片

配置加密链路

可以看到,整个链路中有 4 个主体:MSE Console、Nacos Client(即业务应用侧)、KMS Service、MSE Nacos。整个配置加密链路流程如下:

  1. MSE Console/Nacos Client SDK(即业务应用侧)编辑待加密配置文本这里需要说明,MSE Console与Nacos Client SDK 侧,都可以作为加解密配置的发起方,MSE Console 需要用户登录 Aliyun 官网的 MSE 产品控制台操作,而且必须赋予操作用户相应的 RAM 权限;Nacos Client SDK(业务应用)侧需要配置 KMS 相关实例的配置(下文介绍如何操作)。

  2. MSE Console/Nacos Client SDK 请求 KMS Service 加密明文MSE Console 与 Nacos Client SDK 侧编辑好待加密的明文配置后,就可以请求 KMS Service 对明文配置加密。

  3. KMS Service 返回加密后的密文给 MSE Console/Nacos Client SDK 侧

  4. MSE Console/Nacos Client SDK 请求 MSE Nacos 存储加密文本这里需要说明的是,所有的明文配置都是在 MSE Console/Nacos Client SDK(业务应用)侧使用;MSE Nacos 存储的是加密后的密文,并未存储任何明文配置信息。因此即使 MSE Nacos 被攻击,也不会泄露任何加密配置的明文信息。所以,用户只需关心业务应用侧的安全防护,大大收敛了数据安全风险。

  5. MSE Nacos 返回结果给 MSE Console/Nacos Client SDK

配置解密链路

配置解密链路无非就是配置加密链路的逆向过程,这里不再赘述,需要强调的是,解密后的明文配置都是在 MSE Console/Nacos Client SDK(业务应用)侧拿到的;MSE Nacos 无法拿到任何加密配置的明文信息。

推荐加密的配置项

  1. AK、SK 信息

  2. 明文的 password 密码、token 等信息

  3. RDS 数据源等配置

总之,对于存在泄露风险的配置,都推荐使用 MSE Nacos 的加密配置功能存储。

MSE Nacos:敏感配置加解密的最佳实践

下面介绍如何使用 MSE 提供的配置加密能力,具体的文档说明,您可查看 MSE 官方文档中心的配置加密 [ 4] 这篇文档。

整个最佳实践可以归纳为如下几个步骤:

  1. 开通微服务引擎 MSE

  2. 登录 MSE 控制台,并创建 Nacos 引擎实例

  3. 开通密钥管理服务 KMS

  4. 登录密钥管理服务 KMS 控制台,创建 KMS 专属实例,创建密钥资源

  5. 在 MSE 控制台,开启配置加密功能,绑定 KMS 密钥到 Nacos 实例,创建并使用加密配置

  6. 通过 Nacos Client SDK 创建并使用加密配置

1. 开通微服务引擎 MSE

您可登录微服务引擎 MSE [ 5] ,查看并开通 MSE。

2. 登录 MSE 控制台,并创建 Nacos 引擎实例

图片

登录微服务引擎 MSE 产品控制台,在左侧选项框中选择“注册配置中心”,点击“实例列表”,确定 region 后,选择“创建实例”。具体 MSE Nacos 实例创建流程,您可参考 MSE 文档中心的创建 Nacos 引擎 [ 6] 文档。

3. 开通密钥管理服务 KMS

您可登录密钥管理服务 KMS [ 7] ,查看并开通 KMS。

4. 登陆密钥管理服务 KMS 控制台,创建 KMS 专属实例,创建密钥资源

4.1 登录密钥管理服务 KMS 产品控制台,创建 KMS 专属实例

图片

这里依次选择“实例管理”,“确定地域”(如北京),“创建实例”。

🔔注意:

  1. KMS 实例一定要和使用配置加解密的应用程序的机器在同一个 VPC 内,否则会导致配置加解密无法使用。

  2. 不用保证 MSE Nacos 与 KMS 实例的网络互通性。

4.2 确定 KMS 实例规格

其中,在创建 KMS 专属实例时,需要确认实例资源规格。这里需要强调的是,使用 MSE Nacos 的配置加解密能力,仅需 1 个密钥资源即可。其他具体实例规格信息可参考购买和启用 KMS 实例 [ 8]

4.3 创建密钥资源

图片

KMS 实例创建完成后,需要继续创建密钥资源。按照上图依次在密钥管理服务 KMS 控制台选择“密钥管理”、“确定地域(如北京)”、“创建密钥”。

4.4 确定密钥规格

图片

对于用于 MSE Nacos 配置加解密的密钥,需要确定 2 个参数信息:

  1. 密钥类型:对称密钥

  2. 密钥规格:Aliyun_AES_256其他密钥参数,可根据客户自己需求设定,具体密钥管理功能可参考密钥管理 [ 9]

5. 在 MSE 控制台,开启配置加密功能,绑定 KMS 密钥到 Nacos 实例,创建并使用加密配置

接下来登录微服务引擎 MSE 产品控制台,开启 MSE Nacos 实例的配置加密开关,并绑定 KMS 密钥至 MSE Nacos 实例。

5.1 开启 MSE Nacos 实例的配置加密功能

图片

在 MSE Nacos 实例的详情页面,点击“参数设置”栏,将 ConfigSecretEnabled 的值设置为 true。

🔔注意: 如果之前为 false,重置为 true 后会导致实例重启。

5.2 绑定 KMS 密钥至 MSE Nacos 实例

图片

图片

在 MSE Nacos 实例的详情页面,点击“基础信息”栏,在基础信息的“KMS 密钥”属性中,点击红框图标,绑定第四步创建的 KMS 密钥至此 MSE Nacos 实例(之后 MSE Console 侧编辑的加密配置,都会使用此 KMS 密钥,因此请勿删除、禁用此 KMS 密钥,否则将会导致 MSE Nacos 的配置加解密能力不可用)。

绑定完成后,会在 MSE Nacos 的基础信息中,看到 KMS 密钥已成功绑定。点击密钥 KeyId,会跳转到 KMS 控制台处的密钥详情信息界面。

图片

5.3 创建并使用加密配置

图片

在 MSE Nacos 实例的详情页面,点击“配置列表”栏,并点击“创建配置”。

图片

打开配置编辑界面,第 1 步点击“数据加密”开关,之后按照第 2、3、4 步骤编辑配置详情,并在编辑完成后,点击“发布”,即可创建加密配置,并可在 MSE 控制台查看刚刚创建的加密配置信息。

图片

图片

🔔注意:

  1. MSE Nacos 存储的是加密后的密文信息。

  2. MSE Console 控制台会对加密配置展示明文信息,如您想要在控制台隐匿此加密配置的信息,可参考链配置中心细粒度鉴权 [ 10] ,分别授权不同的 RAM 权限给不同的 aliyun 账户。

6. 通过 Nacos Client SDK 创建并使用加密配置

您也可以使用 Nacos Client SDK 来发布、获取加密配置,这里以 JAVA SDK 为例。

6.1 获取 KMS 3.0 实例配置

登录密钥管理服务 KMS 控制台,为绑定到 MSE Nacos 实例的 KMS 密钥所归属的 KMS 实例,创建“应用接入点”(必选)、获取实例 CA 证书(可选)如图所示。

图片

点击“快速创建应用接入点”后,请选择如下信息后,创建应用接入点:

  • 作用域(KMS 实例):请选择绑定至 MSE Nacos 实例的 KeyId 对应的实例 Id。
  • 网络控制规则:请输入使用配置加解密的应用服务坐在的实例的 IP 网段。

图片

(必选) 创建“应用接入点”完成后,会有如下信息(请存储至安全的介质中,这些接入点信息不会从 KMS 控制台二次获取,请妥善保存, 初始化 Nacos Client SDK 会使用到):

  1. 应用身份凭证口令(ClientKeyPassword)

  2. 应用身份凭证内容(ClientKeyContent)

图片

(可选) 获取实例 CA 证书:如您希望加解密通信链路采用 TLS 加固,可获取 CA 证书,并添加到 Nacos Client 的初始化配置中。

6.2 用 KMS 3.0 配置信息,初始化 Nacos Client
  1. 您需要在您的代码中添加如下 maven 依赖:
<dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>1.4.3</version>
</dependency>
<dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client-mse-extension</artifactId><version>1.0.3</version>
</dependency>
  1. 初始化 Nacos Client,发布并获取加密配置
try {Properties properties = new Properties();properties.put(PropertyKeyConst.SERVER_ADDR, "mse-xxxxxx-p.nacos-ans.mse.aliyuncs.com");properties.put(PropertyKeyConst.RAM_ROLE_NAME, "${roleName}"); //参考下方tips[1]properties.put("regionId", "cn-hangzhou");properties.put("kms_region_id", "cn-hangzhou");properties.put("kmsEndpoint", "kst-hzz6xxxr.cryptoservice.kms.aliyuncs.com");properties.put("keyId", "alias/acs/mse");properties.put("kmsVersion", "v3.0");properties.put("kmsClientKeyContent", "clientKey_content");// kmsClientKeyContent与kmsClientKeyFilePath设定任意一个即可,kmsClientKeyContent优先级更高。// properties.put("kmsClientKeyFilePath", "clientKey_hangzhou.json");properties.put("kmsPasswordKey", "10xxxd1d");properties.put("kmsCaFileContent", "ca_content");// kmsCaFileContent与kmsCaFilePath设定任意一个即可,kmsCaFileContent优先级更高。// properties.put("kmsCaFilePath", "ca.pem");ConfigService configService = NacosFactory.createConfigService(properties);//发布加密配置(dataId以"cipher-kms-aes-256-"作为前缀)configService.publishConfig("cipher-kms-aes-256-dataid", "group", "cipher-content"));//获取加密配置System.out.println("content:::"+configService.getConfig("cipher-kms-aes-256-dataid", "group", 6000));} catch (Exception e) {e.printStackTrace();}

🔔Tips:

借助 ECS 实例或 ACK 实例的 RAM 角色,您可以将 RAM 角色与 ECS 实例或 ACK 实例关联起来,然后将 RAM 角色名称告知 Nacos Client,此后无需配置 AccessKey 即可访问MSE。基于 RAM 角色,您可以为不同实例设定不同的角色和授权策略,控制访问权限粒度或范围。例如,如果配置只读策略,则关联了该角色的 ECS 仅可读取 MSE 的配置和服务,而无法新增或修改 MSE 配置和服务。更多信息,请参见 ECS 实例 RAM 角色 [ 11] 、授权概述 [ 12] 和 RAM 角色概览 [ 13]

  1. 您可在 MSE Console 控制台上查看、编辑您通过 Nacos Client SDK 发布的加密配置

图片

您可参考 JAVA SDK 用例 [ 14] 、GO SDK 用例 [ 15] ,并参考 MSE 文档中心的配置加密 [ 16] 文档了解详情。

相关链接:

[1] Nacos

https://nacos.io/zh-cn/docs/v2/what-is-nacos.html

[2] 国家三级等保 《信息安全技术 网络安全等级保护基本要求》GB/T 22239-2023

[3] MSE

https://help.aliyun.com/zh/mse/product-overview/what-is-mse

[4] 配置加密

https://help.aliyun.com/zh/mse/user-guide/create-and-use-encrypted-configurations?spm=a2c4g.11186623.0.0.41e939f9SGGIeP#a796307088bov

[5] 微服务引擎 MSE

https://www.aliyun.com/product/aliware/mse?spm=a2c4g.11186623.0.0.4ed534942kabHC&v=649fb76c13f77bc7c7031b5ae76a2cca

[6] 创建 Nacos 引擎

https://help.aliyun.com/zh/mse/getting-started/create-a-nacos-engine?spm=a2c4g.11186623.0.i23#task-2261346

[7] 密钥管理服务 KMS

https://www.aliyun.com/product/security/kms?spm=a2c4g.11186623.J_XmGx2FZCDAeIy2ZCWL7sW.17.5f3539f9WUwh2S&scm=20140722.S_product@@%E4%BA%91%E4%BA%A7%E5%93%81@@813441._.ID_product@@%E4%BA%91%E4%BA%A7%E5%93%81@@813441-RL_kms-LOC_topbarUNDproduct-OR_ser-V_3-P0_0

[8] 购买和启用 KMS 实例

https://help.aliyun.com/zh/kms/getting-started/purchase-and-enable-a-kms-instance?spm=a2c4g.11186623.0.0.11298c9cUWSBlK

[9] 密钥管理

https://help.aliyun.com/zh/kms/getting-started/getting-started-with-key-management?spm=a2c4g.11186623.0.0.704c8c9cvSkwKZ

[10] 链配置中心细粒度鉴权

https://help.aliyun.com/zh/mse/user-guide/fine-grained-authorization-in-configuration-centers?spm=a2c4g.11186623.0.0.5f1d304f8waZsm

[11] ECS 实例 RAM 角色

https://help.aliyun.com/zh/ecs/user-guide/overview-1

[12] 授权概述

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/authorization-overview

[13] RAM 角色概览

https://help.aliyun.com/zh/ram/user-guide/ram-role-overview

[14] JAVA SDK 用例

https://github.com/nacos-group/nacos-client-mse-extension/blob/dev/src/main/java/com/alibaba/nacos/client/aliyun/sample/KmsV3Sample.java

[15] GO SDK 用例

https://github.com/nacos-group/nacos-sdk-go/blob/master/example/config-mse-kmsv3/main.go

[16] 配置加密

https://help.aliyun.com/zh/mse/user-guide/create-and-use-encrypted-configurations?spm=a2c4g.11186623.0.0.63f9537buzfndb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Html+Css+JavaScript实现完整的轮播图功能

概要 这个案例具备常见轮播图完整的功能&#xff0c;大家可以根据自己的需求去修改&#xff1b; 代码可以直接复制运行&#xff0c;需要安装sass 主要功能&#xff1a; &#xff08;1&#xff09;鼠标移入轮播图&#xff0c;左右两边的按钮出现&#xff0c;离开则隐藏按钮&a…

proteus8.15安装教程

proteus8.15安装教程 1.管理员运行 2.一直NEXT到这一步&#xff0c;需要注意&#xff0c;一定要选这一个 3.选中后出现 4.一直下一步到更新 这边结束后准备激活&#xff1a; 1.安装激活插件&#xff0c;先关闭防火墙 2.下一步 3.最后&#xff0c;将数据库放在根目录下 …

从零开始配置pwn环境:sublime配置并解决pwn脚本报错问题

1.sublime安装 Download - Sublime Text ──(holyeyes㉿kali2023)-[~] └─$ sudo dpkg -i sublime-text_build-4169_amd64.deb [sudo] password for holyeyes: Selecting previously unselected package sublime-text. (Reading database ... 409163 files and directori…

huggingface学习 | 云服务器使用hf_hub_download下载huggingface上的模型文件

系列文章目录 huggingface学习 | 云服务器使用git-lfs下载huggingface上的模型文件 文章目录 系列文章目录一、hf_hub_download介绍二、找到需要下载的huggingface文件三、准备工作及下载过程四、全部代码 一、hf_hub_download介绍 hf_hub_download是huggingface官方支持&…

力扣【四数之和】

一、题目描述 18. 四数之和 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#x…

大数据开发之电商数仓(hadoop、flume、hive、hdfs、zookeeper、kafka)

第 1 章&#xff1a;数据仓库 1.1 数据仓库概述 1.1.1 数据仓库概念 1、数据仓库概念&#xff1a; 为企业制定决策&#xff0c;提供数据支持的集合。通过对数据仓库中数据的分析&#xff0c;可以帮助企业&#xff0c;改进业务流程、控制成本&#xff0c;提高产品质量。 数据…

C#中chart控件

C#中chart控件 图表的5大集合 例子 第一步&#xff1a;创建工程 放入chart控件 series集合 选择图标类型 选择绘制曲线的宽度和颜色。 显示数据标签 Title集合 添加标题 调整标题字体&#xff1a;大小和颜色 CharsArea集合 对坐标轴进行说明 设置间隔 设置刻度…

第11章_常用类和基础API拓展练习(字符串相关练习,日期时间API练习,比较器练习,其它API练习)

文章目录 第11章_常用类和基础API拓展练习字符串相关练习1&#xff1a;阅读题1、length说明2、阅读代码&#xff0c;分析结果3、阅读代码&#xff0c;分析结果4、阅读代码&#xff0c;分析结果5、阅读代码&#xff0c;分析结果6、阅读代码&#xff0c;分析结果7、阅读代码&…

【Linux】Linux基本操作(二):rm rmdir man cp mv cat echo

承接上文&#xff1a; 【【Linux】Linux基本操作&#xff08;一&#xff09;&#xff1a;初识操作系统、ls、cd、touch、mkdir、pwd 】 目录 1.rmdir指令 && rm 指令&#xff1a; rmdir -p #当子目录被删除后如果父目录也变成空目录的话&#xff0c;就连带父目录一…

崩溃了!我说用attach进行问题定位,面试官问我原理

Arthas&#xff08;阿尔萨斯&#xff09;是一款开源的Java诊断和监控工具&#xff0c;可以在生产环境中进行实时的应用程序分析和故障排查。Arthas的实现原理主要基于Java Instrumentation API和Java Agent技术。 Java Agent 是 Java 编程语言提供的一种特殊机制&#xff0c;允…

3.php开发-个人博客项目输入输出类留言板访问IPUA头来源

目录 知识点 : 输入输出 配置环境时&#xff1a; 搜索框&#xff1a; 留言板&#xff1a; 留言板的显示&#xff08;html&#xff09;&#xff1a; php代码显示提交的留言&#xff1a; 写入数据库 对留言内容进行显示&#xff1a; php全局变量-$_SERVER 检测来源 墨…

AMEYA360:航顺HK32AUTO39A—适用车载娱乐系统优化方案

车载娱乐系统&#xff0c;顾名思义最开始其功能主要是为驾驶员和乘客提供娱乐体验&#xff0c;但现在智能座舱时代到来&#xff0c;车载信息娱乐系统已成为“人-车-环境”交互的重要载体&#xff0c;是除了驾驶以外的其他任务的中心。 从功能模块上看&#xff0c;车载娱乐系统从…

【算法练习Day50】下一个更大元素II接雨水

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 下一个更大元素II接雨水单调…

9.4 Lambda表达式

9.4 Lambda表达式 1 Lambda语法2. 基于Lambda实现函数式编程3. Stream流式处理 1 Lambda语法 2. 基于Lambda实现函数式编程 3. Stream流式处理

【网站项目】基于SSM的273校园二手交易网站

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

cesium实现动态围栏

项目中使用到了cesium,需要实现动态的围栏的效果&#xff0c; 在网上也找了好多案例&#xff0c;通过着色器来实现效果&#xff0c;为此也有好多博主也附上了自己的代码&#xff0c;也许是因为使用方法不同&#xff0c;复制代码并修改依旧还是没有通过他们的方式实现效果【着色…

STM32标准库开发——PWM驱动代码

PWM驱动初始化代码 使能定时器二时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);设置定时器时钟源 TIM_InternalClockConfig(TIM2);配置定时器二的时基单元 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_TimeBaseInitStruct.TIM_ClockDivisionTIM_CKD_D…

vmware 安装Rocky-9.3系统

安装系统截图 安装完成&#xff0c;启动 查看版本和内核 开启远程登陆授权 1、编辑配置文件 #提升权限&#xff0c;输入su,并输入密码 su #编辑ssh文件开启root远程登陆 vi /etc/ssh/sshd_config找到以下内容&#xff1a;#PermitRootLogin prohibit-password 添加&#xff1a…

C语言——小细节和小知识11

一、自幂数 1、介绍 自幂数&#xff0c;也被称为阿姆斯特朗数&#xff0c;是一种特殊类型的数&#xff0c;在数学上具有一个有趣的性质&#xff1a;一个 n 位的正整数&#xff0c;其各个位上的数字的 n 次幂之和等于它本身。 这里是自幂数的定义步骤&#xff1a; 确定位数 (…

Windows ssh登录eNSP交换机

目录 1. Cloud IO配置1.1 创建UDP端口1.2 创建本地连接1.3 端口映射设置 2. 交换机配置2.1 配置vlanif2.2 配置vty2.3 配置ssh用户2.4 配置aaa2.5 使用Xshell工具登录2.6 用户和密码2.7 登录成功 3. 使用cmd 登录报错提示3.1 手动指定加密算法&#xff0c;提示密码长度无效3.2 …