![](https://file.jishuzhan.net/article/1723342413105205249/92d774b0a5d48322fb7a5fe98811d623.webp)
🎬 艳艳耶✌️:个人主页
🔥 个人专栏 :《Spring与Mybatis集成整合》《Vue.js使用》
⛺️ 越努力 ,越幸运。
![](https://file.jishuzhan.net/article/1723342413105205249/3a256c9efc9dce2adc132151f3a43958.webp)
1.gui图形化界面的使用
1.1 前期准备
新建仓库,具体操作如下:
![](https://file.jishuzhan.net/article/1723342413105205249/afbe50971583ad992c4f9cc875bd0ba1.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/4fa462f23dd7f795929a6551a36f1462.webp)
初始化readme文件:
![](https://file.jishuzhan.net/article/1723342413105205249/b955e3c5ff95ae32022ed81b8cb03f0e.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/082ba64134648714ed548c4d2361c6d8.webp)
1.2 Git图形化界面的使用
1.2.1 文件代码克隆
然后在回到本地资源管理器中新建一个路径,再右击鼠标打开Git GUI here,及具体操作如下:
![](https://file.jishuzhan.net/article/1723342413105205249/7343cb6841e70f23597445e0b2a1bfd1.webp)
这里需要提到,如果是按上篇博客用Git Bash去克隆代码的话,则必须使用命令git clone,使用Git Gui的话则不需要用命令操作。
选第二个
![](https://file.jishuzhan.net/article/1723342413105205249/2e5f5a1b2799ba39e1609a8c85d31299.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/10e17b6e6e6676fcff141d29cff72e2d.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/772645a40fadad75cba63445bcc89371.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/21e4277bf494045821092d11606a5c5f.webp)
新建perdon.java
![](https://file.jishuzhan.net/article/1723342413105205249/88266d4b6c1b2c8c0419a66fd0934529.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/7942e58b9a1afac27001720f56a0e97f.webp)
然后保存,回到Git Gui界面,点击刷新,即可看到我们刚刚新建的文件,如下:
![](https://file.jishuzhan.net/article/1723342413105205249/d611827425592dfe71ac0b7c9aef9a4f.webp)
在这时将刚刚新建的Person中的java代码进行改动,并且在Person所在目录下新增含有查询语句的sql文件,如下:
![](https://file.jishuzhan.net/article/1723342413105205249/d241b024b442974df743746610a0ed12.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/7aed498a1d6a520a42744ec777bd4972.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/e1a5dd53183edf3f5a903cfe554f9087.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/8b4befaf51a58130c33fbb924dde3029.webp)
2.ssh协议
2.1 定义
SSH(Secure Shell)是一种加密的网络协议 ,用于在不安全的网络上安全地运行网络服务。SSH最常见的用途是通过安全的方式远程登录到计算机系统,但它还可以用于安全地传输文件和执行各种网络服务。SSH的主要设计目标是提供强大的身份验证、加密通信和数据完整性。
SSH协议有两个主要版本,即SSH-1和SSH-2。SSH-2是SSH协议的较新版本,它在安全性和功能上都有一些改进,而SSH-1则已经过时。 SSH的工作方式涉及客户端和服务器之间的安全连接,通过这个连接进行加密的远程终端访问、文件传输和命令执行。
2.2 特点
SSH(Secure Shell)协议具有以下特点:
加密通信: SSH协议提供了安全的数据传输,使用加密技术来保护通信的机密性。所有通过SSH协议传输的数据都经过加密,包括用户名、密码、执行的命令和传输的文件。
身份验证: SSH支持多种身份验证方法,其中最常见的是公钥认证和密码认证。公钥认证是一种更加安全的身份验证方式,可以降低密码泄露的风险。
端到端的安全性: SSH协议提供端到端的安全性,确保数据在本地计算机和远程服务器之间的传输是受保护的。即使在不受信任的网络中传输数据,也不易受到中间人攻击。
**远程访问:**SSH允许用户从本地计算机远程连接到远程主机,并执行命令、访问远程Shell会话。这在服务器管理和维护方面非常有用。
文件传输: SSH支持安全的文件传输协议,如SCP(Secure Copy Protocol)和SFTP(SSH File Transfer Protocol),使用户能够在本地计算机和远程服务器之间安全地传输文件。
灵活性: SSH协议非常灵活,可以在不同操作系统和平台上运行,支持各种加密算法和身份验证方法。这使得它适用于多种环境。
**多版本支持:**SSH协议有两个主要版本,SSH-1和SSH-2。SSH-2是较新、更安全的版本,广泛使用,而SSH-1已经过时。
配置和自定义: 用户可以通过配置文件来自定义SSH连接的参数,以适应其需求。这包括定义身份验证方法、指定端口号、设置密钥等。
秘钥管理: SSH允许用户管理公钥和私钥对,使其更容易进行身份验证。SSH代理可以帮助用户有效地管理他们的密钥。
Known Hosts: SSH客户端维护一个"known_hosts"文件,其中包含已知主机的公钥。这有助于防止中间人攻击,因为客户端可以验证连接的远程主机的身份。
总之,SSH协议的主要特点是提供了安全、加密的远程访问和文件传输服务,适用于各种计算机网络环境,并提供多种身份验证方法以确保通信的安全性。这使得SSH成为许多组织和个人的首选工具,用于保护敏感数据和进行远程管理。
2.3 SSH协议与SSL/TLS协议的区别
SSH协议和SSL/TLS协议是两种不同的安全通信协议,虽然它们都用于加密通信,但在设计目的、使用场景和工作方式上有一些关键的区别。
2.3.1 设计目的和应用场景
SSH(Secure Shell): 主要设计用于远程登录和执行命令。它提供了一个安全的命令行接口,使用户能够在远程计算机上执行操作。除了远程登录,SSH还支持安全文件传输和端口转发等功能。
SSL/TLS(Secure Sockets Layer/Transport Layer Security): 主要设计用于保护网络通信的安全性,广泛应用于Web浏览器与服务器之间的加密通信。TLS是SSL的继任者,两者通常被通称为SSL/TLS。SSL/TLS在Web浏览器中用于加密HTTPS连接,提供了端到端的加密通信,同时也可用于其他应用程序。
2.3.2 通信方式
SSH: 提供点对点的安全通信,通常用于远程管理和控制。SSH会话经常以命令行方式进行,但也可以用于图形用户界面(GUI)的远程桌面。
SSL/TLS: 通常用于端到端的安全通信,例如在客户端和服务器之间的浏览器与Web服务器之间的通信。SSL/TLS可以用于各种应用程序,不仅限于远程管理。
2.3.3 端口和协议
SSH: 默认使用22号端口,基于TCP协议。
SSL/TLS: 通常在HTTP的基础上,通过加密形成HTTPS,使用的端口是443。可以在不同的应用层协议上实现,如HTTPS(HTTP over TLS)。
2.3.4 身份验证方式
SSH: 支持多种身份验证方式,包括密码、公钥和其他方法。
SSL/TLS: 通常使用数字证书来进行身份验证,其中服务器和客户端都可以验证对方的身份。
2.3.5 应用领域
SSH: 主要用于系统管理、远程终端访问和文件传输等。
SSL/TLS: 主要用于加密Web通信,保护数据在浏览器和服务器之间的传输。
2.3.6 工作层次
SSH: 在应用层之上工作,提供了一个安全的命令行接口。
SSL/TLS: 在传输层之上工作,为应用层提供加密和认证服务。
总体来说,虽然SSH和SSL/TLS都为安全通信提供了解决方案,但它们在设计目的和使用场景上存在差异。SSH更专注于远程管理和终端访问,而SSL/TLS广泛应用于网络通信的安全保护,特别是在Web浏览器与服务器之间的加密通信。
2.4 什么是SSH Key
SSH(Secure Shell)密钥是一种用于在计算机之间进行安全通信的加密密钥。SSH协议主要用于远程登录和执行命令,以及安全地传输文件。SSH密钥通过非对称加密技术实现安全通信。
SSH密钥是一对密钥,包括公钥和私钥:
私钥(Private Key): 私钥是保存在用户本地计算机上的敏感文件,用于对信息进行加密和数字签名。私钥必须保持机密,不应该被共享或泄露。
公钥(Public Key): 公钥是与私钥配对的公共部分,可以在网络上自由传播。公钥用于验证由私钥签名的信息或加密的数据。其他用户可以使用你的公钥加密信息,只有拥有私钥的用户才能解密。
使用SSH密钥的主要目的是确保通信的机密性和完整性,同时提供身份验证机制。当你连接到一个支持SSH的服务器时,你可以使用SSH密钥对进行身份验证,而不是输入密码。
SSH密钥的使用流程:
生成密钥对: 通过使用SSH密钥生成工具,你可以生成一对公私钥。
将公钥上传到服务器: 服务器上的SSH服务需要知道你的公钥以进行身份验证。通常,你需要将公钥添加到服务器上的~/.ssh/authorized_keys文件中。
使用私钥进行身份验证: 当你连接到服务器时,SSH客户端将使用私钥进行身份验证。如果私钥匹配服务器上的公钥,则连接将被授权。
保护私钥: 由于私钥是安全性的关键,确保私钥文件只有你有权访问,并在可能的情况下使用密码保护。
使用SSH密钥相对于密码身份验证具有更高的安全性,因为私钥通常更难以猜测或被破解。
2.5 使用SSH协议克隆对应文件代码
2.5.1 前期准备
(1)远程仓库代码状态
在使用SSH克隆代码前,我们需要将远程仓库(即gitee码云)的开源状态更改为私有,操作如下:
![](https://file.jishuzhan.net/article/1723342413105205249/921e7d678d628ae0565bc4f99c4f4402.webp)
具体操作如下:
![](https://file.jishuzhan.net/article/1723342413105205249/317135dcbc765dd109f4e5a5a602b047.webp)
接着按四个回车键;
![](https://file.jishuzhan.net/article/1723342413105205249/9374a31693e61ddcc2012df7297d9fb6.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/d6aebff15edc7d70d36afc0057a8d585.webp)
生成生功就会在电脑用户目录有.ssh文件
![](https://file.jishuzhan.net/article/1723342413105205249/fe7a4e3c67d660dd4002b549936efaf4.webp)
双击进去可以发现生成了两个密钥,一个是公钥一个是私钥,如下:
![](https://file.jishuzhan.net/article/1723342413105205249/449771263085dcb85f2d8d2db7b57df1.webp)
双击进入公钥,复制公钥,将其配置到Gitee码云上,具体步骤如下:
![](https://file.jishuzhan.net/article/1723342413105205249/6787ec60162e6f35092dfb0abce8eb73.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/2e4ecbe3081c38bbefa721ecf332d837.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/1099af81a17062ea00220d7471cca706.webp)
2.5.2 SSH协议克隆文件代码
![](https://file.jishuzhan.net/article/1723342413105205249/63b22fd3908c3e3060638e4636612de6.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/6c3c82721abedddb8b8b63e34b160ecf.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/7759dd853978eba8ab5cd12eea50ac2d.webp)
3.idea集成Git
如果新建了一个项目,需要托管到gitee上,就执行以下步骤:
在IDEA中配置git.exe文件。
在IDEA中安装gitee插件(因为默认情况下git.exe是配合GitHub来使用的)。
在IDEA中登录Gitee。
在IDEA中登录Gitee。
分享搭建好的项目。
3.1 配置git.exe文件
打开IDEA,点击File------>Settings,然后搜索git,进入以下界面后,具体操作如下:
![](https://file.jishuzhan.net/article/1723342413105205249/fc84aada5404c374928a8a14a1854465.webp)
3.2. IDEA安装gitee
3.3. IDEA中登入Git
到gitee官网的个人中心,再点击个人设置,找安全设置中找到私人令牌。
![](https://file.jishuzhan.net/article/1723342413105205249/4c4f934369b4f87f6da2973b18530bde.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/d8c6c7d289f6390079c4bf8af7c4b4e6.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/ebff8bf1f4c9d8247f95fcbcf41157e7.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/3e84fe140208bac9fe5872bb6e00f683.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/52dcabae6836abe649106f62d3d8189e.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/f87305bff5df55f3d746e5be7dc525f5.webp)
3.4. 项目分享
将项目在idea中环境搭建后之后,准备分享项目到远程仓库的私有仓库中。
在idea中找到VCS,再选中import后点击Share Project on Gitee,将项目分享到仓库
![](https://file.jishuzhan.net/article/1723342413105205249/ee2b64a6ca3ebd3e6fd15da4788d4396.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/d24043edc15b6a559dca0dfbc60e01ac.webp)
3.5.获取当前上传的项目
在导航栏的VCS-Get from Version Control中获取私有仓库的项目
![](https://file.jishuzhan.net/article/1723342413105205249/6be5796cf97b6d323053e10e1a4bb501.webp)
输入分享人账号的仓库中的SSH地址,并且选择项目存放路径
![](https://file.jishuzhan.net/article/1723342413105205249/6e8c0acb0b3b1669cca854f728dd0cd3.webp)
3.6项目上传Git
在导航栏中的VCS-import into Version Control-Share Project on Gitee中进行分享上传
![](https://file.jishuzhan.net/article/1723342413105205249/b55f91fc050138b4efd2b2ca96d26d25.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/b3db51c4b4640df32db267265c7e81ec.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/c08d97908348141478e679c1e77d61bc.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/aafd9acadb79cce12acd8b4045618fd3.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/042e27ef0a3e1fc3791c3adcf4b64a07.webp)
![](https://file.jishuzhan.net/article/1723342413105205249/d593c1d034fda44c823e2a0d00977fa7.webp)