一文理解ssh,ssl协议以及应用

在使用基于密钥的认证方式的时候,私钥的位置一定要符合远程服务器规定的位置,否则找不到私钥的位置会导致建立ssh连接失败

SSH 全称是 “Secure Shell”,即安全外壳协议。

它是一种网络协议,用于在不安全的网络中安全地进行远程登录和其他网络服务。SSH 通过加密机制和认证机制,能够防止网络通信中的信息泄露、中间人攻击等安全威胁。

  1. 加密机制
    • SSH 采用了多种加密算法来确保数据传输的安全性。例如,它可以使用对称加密算法(如 AES)来加密传输的数据,同时利用非对称加密算法(如 RSA 或 ED25519)来进行密钥交换。在数据传输过程中,通信双方会协商出一个对称加密密钥,然后使用这个密钥对数据进行加密和解密,从而保证数据在网络中的保密性。
  2. 认证机制
    • 基于密码的认证:这是比较常见的一种方式,用户在登录远程系统时,通过输入用户名和密码来进行身份认证。不过这种方式相对安全性稍低,因为密码可能会被窃取或破解。
    • 基于**密钥**的认证:如前面在 Git SSH 认证过程中所介绍的,用户生成一对公私钥,将公钥放置在远程服务器上,通过私钥来进行身份认证。这种方式更加安全,因为私钥只要妥善保管,就很难被他人获取和冒用。
    • 其他认证方式:还包括基于主机的认证等方式。SSH 会综合使用这些认证方式来确保只有合法的用户和主机能够建立连接并进行通信。

git的ssh认证过程

  1. SSH认证过程概述
    • 生成密钥对
      • 首先,在本地机器上使用ssh - keygen命令生成一对SSH密钥,包括一个私钥(例如<font style="color:#DF2A3F;">id_rsa</font>)和一个公钥(例如<font style="color:#DF2A3F;">id_rsa.pub</font>)。私钥需要妥善保管在本地,而公钥可以发送到远程服务器进行身份验证。这个过程就像是制作了一把锁(私钥)和对应的钥匙(公钥)。
    • 添加公钥到远程服务器
      • 将本地生成的公钥内容添加到远程服务器(如代码托管平台的服务器)的用户账户设置或仓库相关设置的SSH密钥管理部分。这一步就相当于把钥匙交给了服务器,告诉服务器“持有对应私钥的人是被允许访问的”。
    • 发起SSH连接请求
      • 当在本地使用git命令(如git clonegit pushgit pull)通过SSH协议访问远程仓库(例如git@code.byted.org:repository.git)时,本地的git客户端会发起一个SSH连接请求到远程服务器。
    • 服务器验证身份
      • 远程服务器收到请求后,会检查发送过来的SSH连接请求中的公钥信息。服务器会查找之前存储的已授权公钥列表,看是否能找到匹配的公钥。如果找到匹配的公钥,服务器会生成一个随机的挑战(challenge),并使用对应的公钥进行加密,然后将加密后的挑战发送回本地客户端。
    • 本地响应挑战
      • 本地客户端收到加密后的挑战后,会使用本地保存的私钥进行解密。因为只有拥有正确私钥的客户端才能成功解密这个挑战,这就验证了客户端的身份。解密后的内容会被发送回服务器。
    • 服务器确认身份并建立连接
      • 服务器收到客户端返回的解密后的挑战内容,会将其与自己最初发送的挑战进行比较。如果两者一致,服务器就确认客户端的身份是合法的,然后建立SSH连接,允许客户端访问远程仓库相关的操作。
  2. 原理深入理解
    • 非对称加密原理
      • SSH认证基于非对称加密算法(如RSA或ED25519)。在非对称加密中,密钥对由一个私钥和一个公钥组成。公钥可以公开,任何人都可以用它来加密信息,但只有拥有对应的私钥才能解密这些信息。在SSH认证过程中,这种特性被用来验证客户端的身份,确保只有持有正确私钥的客户端才能成功响应服务器的挑战。
    • 安全机制保障
      • 防止中间人攻击:SSH通过在首次连接时将远程服务器的公钥指纹(一种公钥的摘要信息)存储在本地的known - hosts文件中来防止中间人攻击。当再次连接时,会检查服务器返回的公钥指纹是否与本地存储的一致。如果不一致,会发出警告,提示可能存在中间人攻击。例如,当你看到“Warning: Permanently added ‘code.byted.org’ (ED25519) to the list of known hosts.”这样的提示,说明你的本地机器正在将服务器的公钥信息添加到已知主机列表中,用于后续连接的安全性验证。
      • 私钥权限控制:私钥文件的权限非常关键。如前面提到的,私钥文件应该设置严格的权限(如0600),以防止其他用户访问私钥。因为如果私钥被泄露,攻击者就可以伪装成合法用户访问远程资源。所以当权限设置不当(如0755权限)时,SSH会拒绝使用该私钥进行认证,以保障安全性。

其他ssh认证过程

  1. 远程服务器管理
    • 系统管理系统管理员使用SSH连接到远程服务器(例如Linux服务器)进行系统维护和管理。他们可以通过SSH登录到服务器,执行命令来安装软件包、配置服务、更新系统等操作。例如,使用ssh root@server - ip(假设root是管理员账户,server - ip是服务器的IP地址)登录到服务器后,就可以像在本地终端一样执行命令,如yum install - y httpd(在基于RPM的系统上安装Apache HTTP服务器)或apt - get update && apt - get upgrade(在Debian或Ubuntu系统上更新软件包)。
    • 故障排除:当服务器出现问题时,技术人员可以通过SSH连接到服务器来检查系统日志、进程状态、网络配置等信息,以诊断和解决问题。例如,通过ssh登录后,使用tail - f /var/log/messages命令查看系统日志的实时更新,或者使用ps - aux命令查看正在运行的进程列表,以确定是否有异常进程导致服务器故障。
  2. 文件传输(SFTP和SCP)
    • SFTP(SSH File Transfer Protocol):这是**一种基于SSH协议的安全文件传输协议**。用户可以使用SFTP客户端(如命令行的sftp命令或图形化的FileZilla等工具)通过SSH连接到远程服务器,在本地和远程系统之间安全地传输文件。例如,使用命令行的sftp user@server - ip登录到服务器后,可以使用put命令将本地文件上传到服务器(如put local - file.txt remote - file.txt),或者使用get命令从服务器下载文件(如get remote - file.txt local - file.txt)。
    • SCP(Secure Copy Protocol):SCP也是基于SSH的文件传输工具,它在命令行中使用更方便。例如,使用scp local - file.txt user@server - ip:/remote/directory/可以将本地文件local - file.txt复制到远程服务器的/remote/directory/目录下;使用scp user@server - ip:/remote/file.txt local - directory/可以将远程服务器上的/remote/file.txt文件下载到本地的local - directory/
  3. 数据库管理(远程数据库访问)
    • MySQL数据库管理:数据库管理员可以通过SSH隧道来安全地访问远程MySQL数据库。首先通过SSH连接到服务器,然后在本地机器上配置MySQL客户端,使其通过SSH隧道连接到远程数据库服务器。例如,使用ssh - L 3306:localhost:3306 user@server - ip命令建立一个本地端口3306到远程服务器3306端口(MySQL默认端口)的SSH隧道。之后,在本地使用MySQL客户端连接到localhost:3306,就可以像直接连接到本地数据库一样管理远程MySQL数据库。
    • 其他数据库类似操作:对于其他数据库(如PostgreSQL、Oracle等)也可以采用类似的**SSH隧道技术**来实现安全的远程访问。通过这种方式,可以在保证数据传输安全的基础上,进行数据库的查询、插入、更新和删除等操作。
  4. 容器和云服务管理
    • Docker容器管理:在云环境或远程服务器上管理Docker容器时,有时需要通过SSH连接到服务器来执行<font style="color:#DF2A3F;">docker</font>命令。例如,通过SSH登录到运行Docker的服务器后,使用docker ps命令查看正在运行的容器列表,使用docker exec - it container - id /bin/bash命令进入容器内部的命令行界面,以进行容器内的配置和管理工作。
    • 云服务管理:在使用云服务(如亚马逊AWS、谷歌云GCP、微软Azure等)时,用户可能需要通过SSH连接到云服务器实例来进行配置和管理。例如,在AWS EC2实例上,用户可以使用SSH连接到实例,安装和配置Web服务器软件,将应用程序部署到服务器上,以实现基于云的Web应用服务。

与SSL对比

SSL(Secure Sockets Layer)即安全套接层协议,它是一种用于在网络通信中保障数据安全的加密协议。SSL 协议主要应用在诸如网页浏览、电子邮件、即时通讯等各种网络服务场景中,以下是详细介绍:

历史背景与发展

  • SSL 协议最初是由网景公司(Netscape)在 1994 年开发的,目的是为了解决互联网通信中的数据安全问题。随着互联网的发展,SSL 协议不断演进,后来被 IETF(互联网工程任务组)标准化为 TLS(Transport Layer Security)协议,从技术上来说,TLS 可以看作是 SSL 的后续版本,但在日常交流中,很多人仍然习惯用 SSL 来指代这种加密通信协议。

工作原理

  • 加密机制
    • SSL 采用了多种加密算法来保护数据安全。首先,在 SSL 握手阶段(稍后详细介绍这个阶段),通信双方会协商出一个对称加密密钥,这个密钥用于对后续传输的数据进行加密和解密。例如,常见的对称加密算法有 AES(高级加密标准)。同时,为了安全地交换这个对称加密密钥,SSL 还会使用非对称加密算法,如 RSA(Rivest - Shamir - Adleman)。非对称加密算法使用一对密钥,公钥可以公开用于加密,私钥则由接收方保密用于解密。
    • 除了对称和非对称加密,SSL 还会使用消息认证码(MAC)来保证数据的完整性。MAC 可以确保数据在传输过程中没有被篡改,通过对数据和密钥进行特定的运算,生成一个固定长度的认证码,接收方在收到数据后可以使用相同的算法和密钥进行验证。
  • 认证机制
    • 服务器认证:在 SSL 通信中,最常见的是服务器认证。服务器会向客户端发送其数字证书,数字证书是由权威的证书颁发机构(CA)颁发的,包含了服务器的公钥和一些身份信息,如服务器的域名等。客户端会验证证书的有效性,包括检查证书是否由信任的 CA 颁发、证书是否过期、证书中的域名是否与实际访问的域名一致等。通过这种方式,客户端可以确认服务器的身份是真实可靠的。
    • 客户端认证(可选):在一些安全性要求较高的场景中,也会要求客户端向服务器提供身份认证。客户端认证的方式可以是通过数字证书,也可以是其他方式,如用户名 / 密码组合等。

SSL 协议的工作流程(以浏览器访问网站为例)

  • SSL 握手阶段
    • 客户端发起请求:当用户在浏览器中输入一个以 “https://” 开头的网址并请求访问时,浏览器(客户端)会向服务器发送一个包含 SSL 协议版本号、加密算法套件列表等信息的请求,告知服务器自己支持的 SSL 通信方式。
    • 服务器响应并发送证书:服务器收到请求后,会选择一个双方都支持的加密算法套件,并将自己的数字证书发送给客户端。同时,服务器还会发送一个包含服务器临时公钥的密钥交换信息。
    • 客户端验证证书并生成密钥:客户端收到服务器的证书后,会对证书进行验证。如果证书验证通过,客户端会使用证书中的服务器公钥来加密一个随机生成的对称加密密钥(这个密钥将用于后续的数据加密),并将加密后的密钥发送给服务器。同时,客户端还会发送一个经过加密的预主密钥(Pre - Master Secret),这个预主密钥与之前生成的对称加密密钥一起用于生成最终的会话密钥。
    • 服务器解密并生成会话密钥:服务器收到客户端发送的加密信息后,使用自己的私钥解密得到对称加密密钥和预主密钥,然后通过一系列的算法与客户端共同生成最终的会话密钥。至此,SSL 握手阶段完成,双方已经协商出了用于数据加密的会话密钥。
  • 数据传输阶段
    • 双方使用协商好的会话密钥对数据进行对称加密,然后在网络中传输。例如,当浏览器向服务器发送网页请求数据(如表单数据)时,会使用会话密钥进行加密;服务器返回的网页内容也会使用会话密钥进行加密,这样就保证了数据在传输过程中的保密性。同时,通过消息认证码(MAC)机制来保证数据的完整性,确保数据没有被篡改。

应用场景

  • 网站安全访问(HTTPS):这是 SSL 协议最广泛的应用场景。通过在网站服务器上配置 SSL 证书,网站可以从传统的 “http://” 协议升级为 “https://” 协议。当用户访问使用 HTTPS 协议的网站时,浏览器和网站服务器之间的数据传输是加密的,用户的隐私信息(如登录密码、信用卡信息等)得到有效保护。例如,电商网站、银行网站等对安全性要求较高的网站都普遍采用 HTTPS 协议来保障交易安全。
  • 电子邮件安全:SSL 协议也可以用于保护电子邮件的传输安全。例如,在使用 POP3(邮局协议第 3 版)或 IMAP(互联网邮件访问协议)接收邮件,以及使用 SMTP(简单邮件传输协议)发送邮件时,可以通过 SSL/TLS 加密来防止邮件内容在传输过程中被窃取或篡改。用户在配置邮件客户端时,可以设置使用 SSL 加密连接,如常见的设置 “SSL/TLS 加密” 选项。
  • 虚拟专用网络(VPN):在 VPN 技术中,SSL 协议也发挥着重要作用。SSL - VPN 是一种基于 SSL 协议的 VPN 解决方案,它允许用户通过浏览器或专门的客户端软件,使用 SSL 加密通道连接到企业内部网络或其他受限制的网络。相比传统的 IPsec - VPN,SSL - VPN 具有更好的易用性和兼容性,用户可以在不同的操作系统和设备上方便地建立安全连接。

对比

1. 应用场景

  • SSL
    • 主要用于保障网络应用层数据的安全传输,最典型的应用是在Web浏览器和Web服务器之间通过HTTPS(HTTP over SSL/TLS)协议进行安全通信。例如,当你在网上购物输入银行卡信息时,SSL确保这些敏感信息在从浏览器传输到电商服务器过程中的安全。同时,也广泛应用于电子邮件传输(如IMAP、POP3、SMTP协议的SSL加密版本)、部分VPN(SSL - VPN)等场景,重点在于保护不同网络应用中数据传输的保密性和完整性。
  • SSH
    • 侧重于提供安全的远程登录和远程命令执行功能。比如系统管理员通过SSH登录到远程服务器进行系统维护、配置管理,开发人员通过SSH连接到代码仓库服务器进行代码的拉取、推送操作等。此外,也可用于基于SSH协议的文件传输(如SFTP和SCP),方便在本地和远程系统之间安全地传输文件。

2. 工作层次

  • SSL
    • 工作在传输层(TCP/IP协议栈)之上,应用层之下,对应用层的数据进行加密和认证处理。它可以被视为是为应用层协议(如HTTP、SMTP等)添加了一层安全防护层,使这些应用能够在不安全的网络环境中安全地传输数据。
  • SSH
    • 本身是一个完整的协议,主要用于远程登录和远程系统管理等功能,从协议层次上看,它也可以理解为是一种应用层协议,不过其功能更聚焦于远程系统的访问和操作安全。

3. 加密方式

  • SSL
    • 采用了对称加密和非对称加密相结合的方式。在SSL握手阶段,通信双方先通过非对称加密(如RSA)交换对称加密密钥,之后使用对称加密算法(如AES)对实际传输的数据进行加密。同时,为确保数据完整性,还会使用消息认证码(MAC)机制。这种方式在保证数据安全的同时,利用对称加密的高效性来提高数据传输效率。
  • SSH
    • 同样使用对称加密和非对称加密。例如,在基于密钥的认证方式中,使用非对称加密进行身份认证(通过公私钥对),而在数据传输过程中,也可以使用对称加密来加密传输的数据。不过SSH在具体的加密算法选择和密钥交换细节上与SSL有所不同。

4. 认证方式

  • SSL
    • 重点在于服务器认证。在典型的HTTPS通信中,服务器会向客户端(浏览器)发送数字证书,客户端验证证书的合法性,包括证书的颁发机构(CA)是否可信、证书是否过期、证书中的域名与访问的域名是否一致等,以确认服务器身份。在一些双向认证场景下,客户端也可能需要向服务器提供证书进行认证。
  • SSH
    • 认证方式更加多样化。可以基于密码进行认证,即用户输入用户名和密码登录远程系统;也可以基于密钥认证,通过公私钥对来验证用户身份;还可以有基于主机的认证等方式。在基于密钥认证时,本地客户端的私钥与远程服务器上存储的公钥进行匹配验证。

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

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

相关文章

通往O1开源之路

“Scaling of Search and Learning: A Roadmap to Reproduce o1 from Reinforcement Learning Perspective”由复旦大学和上海人工智能实验室的研究者撰写。该论文从强化学习视角出发&#xff0c;深入分析了实现类似OpenAI o1模型性能的路线图&#xff0c;聚焦于策略初始化、奖…

FPGA、STM32、ESP32、RP2040等5大板卡,结合AI,更突出模拟+数字+控制+算法

板卡选择困难症了&#xff1f;如果你也想玩FPGA、STM32、ESP32、RP2040相关的板卡&#xff0c;不如看看以下几款板卡&#xff0c;如果正巧碰上能实现你想要做的项目呢~ 01 小脚丫FPGA STEP BaseBoard V4.0套件 STEP BaseBoard V4.0是第4代小脚丫FPGA扩展底板&#xff08;点击了…

python进阶06:MySQL

课后大总结 Day1 一、数据库命令总结 1.连接数据库 连接数据库进入mysql安装目录打开bin文件夹&#xff0c;输入cmd(此命令后无分号)mysql.exe -u root -ppassword命令后输入密码:root 设置密码set passwordpassword("root123"); 查看所有数据库show databases; …

lec7-路由与路由器

lec7-路由与路由器 1. 路由器硬件 路由器的硬件部分&#xff1a; 断电失去&#xff1a; RAM断电不失去&#xff1a;NVRAM&#xff0c; Flash&#xff0c; ROMinterface也算是一部分 路由器是特殊组件的计算机 console 口进行具体的调试 辅助口&#xff08;Auxiliary&…

HP 电脑开机黑屏 | 故障判断 | BIOS 恢复 | BIOS 升级

注&#xff1a;本文为 “HP 电脑开机黑屏 | 故障判断 | BIOS 恢复 | BIOS 升级” 相关文章合辑。 引文图片 csdn 转储异常&#xff0c;重传。 篇 1&#xff1a;Smart-Baby 回复中给出故障现象判断参考 篇 2、篇3 &#xff1a;HP 官方 BIOS 恢复、升级教程 开机黑屏&#xff0c…

代码随想录算法训练营第五十天|图论基础|深度优先搜索理论基础|KM98.所有可达路径|广度优先搜索理论基础

图论基础 1、图的基本概念 二维坐标中&#xff0c;两点可以连成线&#xff0c;多个点连成的线就构成了图。 当然图也可以就一个节点&#xff0c;甚至没有节点&#xff08;空图&#xff09; 2、图的种类 整体上一般分为有向图和无向图&#xff1b; 有向图是指图中边是有方向的…

《Vue3实战教程》40:Vue3安全

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 安全​ 报告漏洞​ 当一个漏洞被上报时&#xff0c;它会立刻成为我们最关心的问题&#xff0c;会有全职的贡献者暂时搁置其他所有任务来解决这个问题。如需报告漏洞&#xff0c;请发送电子邮件至 securityvuejs.org。…

2025年1月4日蜻蜓q旗舰版st完整开源·包含前后端所有源文件·开源可商用可二开·优雅草科技·优雅草kir|优雅草星星|优雅草银满|优雅草undefined

2025年1月4日蜻蜓q旗舰版st完整开源包含前后端所有源文件开源可商用可二开优雅草科技优雅草kir|优雅草星星|优雅草银满|优雅草undefined 产品介绍&#xff1a; 本产品主要贡献者优雅草科技优雅草kir|优雅草星星|优雅草银满|优雅草undefined-青史留名&#xff0c;时光如川浪淘…

计算机网络练习题

学习这么多啦&#xff0c;那就简单写几个选择题巩固一下吧&#xff01; 1. 在IPv4分组各字段中&#xff0c;以下最适合携带隐藏信息的是&#xff08;D&#xff09; A、源IP地址 B、版本 C、TTL D、标识 2. OSI 参考模型中&#xff0c;数据链路层的主要功能是&#xff08;…

【UE5 C++课程系列笔记】21——弱指针的简单使用

目录 概念 声明和初始化 转换为共享指针 打破循环引用 弱指针使用警告 概念 在UE C 中&#xff0c;弱指针&#xff08;TWeakPtr &#xff09;也是一种智能指针类型&#xff0c;主要用于解决循环引用问题以及在不需要强引用保证对象始终有效的场景下&#xff0c;提供一种可…

Spring Boot 的自动配置,以rabbitmq为例,请详细说明

Spring Boot 的自动配置特性能够大大简化集成外部服务和组件的配置过程。以 RabbitMQ 为例&#xff0c;Spring Boot 通过 spring-boot-starter-amqp 提供了自动配置支持&#xff0c;开发者只需在应用中添加相关依赖并配置必要的属性&#xff0c;Spring Boot 会自动配置所需的连…

2025/1/4期末复习 密码学 按老师指点大纲复习

我们都要坚信&#xff0c;道路越是曲折&#xff0c;前途越是光明。 --------------------------------------------------------------------------------------------------------------------------------- 现代密码学 第五版 杨波 第一章 引言 1.1三大主动攻击 1.中断…

Vulnhub靶场(Earth)

项目地址 https://download.vulnhub.com/theplanets/Earth.ova.torrent 搭建靶机 官网下载.ova文件双击vm打开导入 获取靶机IP kail终端输入 arp-scan -l 获取靶机 IP 192.168.131.184 信息收集 端口扫描 sudo nmap -sC -sV -p- 192.168.131.184 可以看到开启22端口&…

Linux菜鸟级常用的基本指令和基础知识

前言:很多Linux初学者都会头疼于指令太多记不住&#xff0c;笔者刚学习Linux时也是如此&#xff0c;学习Linux指令时&#xff0c;学了后面的指令&#xff0c;前面的指令也会忘的差不多了&#xff0c;针对于以上这些情况&#xff0c;笔者今天来分享一篇Linux菜鸟级的常用指令的博…

使用SSH建立内网穿透,能够访问内网的web服务器

搞了一个晚上&#xff0c;终于建立了一个内网穿透。和AI配合&#xff0c;还是得自己思考&#xff0c;AI配合才能搞定&#xff0c;不思考只依赖AI也不行。内网服务器只是简单地使用了python -m http.server 8899&#xff0c;但是对于Gradio建立的服务器好像不行&#xff0c;会出…

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无 前端代码开源库 关于开源说明&#xff1a;企业服务-招聘信息管理系统-前端uniapp-系统前端开放源代码仅供学习-优雅草科技-目前优雅草科…

HTML——75. 内联框架

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>内联框架</title><style type"text/css">iframe{width: 100%;height: 500px;}</style></head><body><!--iframe元素会创建包含…

Ajax原理-XMLHttpRequest

1. XMLHttpRequest 是什么&#xff1f; 和axios的关系&#xff1a; axios 内部采用 XMLHttpRequest 与服务器交互 学习XMLHttpRequest的目的&#xff1a; 掌握使用 XHR 与服务器进行数据交互&#xff0c;了解 axios 内部原理&#xff0c;加强对知识的理解&#xff0c;提升技…

离散数学 期末笔记

命题符号化 使用等值演算法证明 求公式范式 在自然推理体系中构造下列推理的证明 在一阶逻辑中将下列命题符号化 设A、B、C、D是 Z 的子集 证明下列集合恒等式 二元关系 性质 没有空的 没有漏的 没有重复 函数

Fabric环境部署-Git和Node安装

一.安装Git&#xff08;v2.43.0&#xff09; Git 是一个开源的分布式版本管理系统&#xff08;也是全球最大的开源软件存储服务器&#xff09;&#xff0c;用于敏捷高效地处理任何或小或大的项目。搭建区块链需要使用Git&#xff0c;因为区块链的开发和部署需要使用版本控制工…