
🎬 艳艳耶✌️:个人主页
🔥 个人专栏 :《Spring与Mybatis集成整合》《Vue.js使用》
⛺️ 越努力 ,越幸运。

1.gui图形化界面的使用
1.1 前期准备
新建仓库,具体操作如下:


初始化readme文件:


1.2 Git图形化界面的使用
1.2.1 文件代码克隆
然后在回到本地资源管理器中新建一个路径,再右击鼠标打开Git GUI here,及具体操作如下:

这里需要提到,如果是按上篇博客用Git Bash去克隆代码的话,则必须使用命令git clone,使用Git Gui的话则不需要用命令操作。
选第二个




新建perdon.java


然后保存,回到Git Gui界面,点击刷新,即可看到我们刚刚新建的文件,如下:

在这时将刚刚新建的Person中的java代码进行改动,并且在Person所在目录下新增含有查询语句的sql文件,如下:




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码云)的开源状态更改为私有,操作如下:

具体操作如下:

接着按四个回车键;


生成生功就会在电脑用户目录有.ssh文件

双击进去可以发现生成了两个密钥,一个是公钥一个是私钥,如下:

双击进入公钥,复制公钥,将其配置到Gitee码云上,具体步骤如下:



2.5.2 SSH协议克隆文件代码



3.idea集成Git
如果新建了一个项目,需要托管到gitee上,就执行以下步骤:
在IDEA中配置git.exe文件。
在IDEA中安装gitee插件(因为默认情况下git.exe是配合GitHub来使用的)。
在IDEA中登录Gitee。
在IDEA中登录Gitee。
分享搭建好的项目。
3.1 配置git.exe文件
打开IDEA,点击File------>Settings,然后搜索git,进入以下界面后,具体操作如下:

3.2. IDEA安装gitee
3.3. IDEA中登入Git
到gitee官网的个人中心,再点击个人设置,找安全设置中找到私人令牌。






3.4. 项目分享
将项目在idea中环境搭建后之后,准备分享项目到远程仓库的私有仓库中。
在idea中找到VCS,再选中import后点击Share Project on Gitee,将项目分享到仓库


3.5.获取当前上传的项目
在导航栏的VCS-Get from Version Control中获取私有仓库的项目

输入分享人账号的仓库中的SSH地址,并且选择项目存放路径

3.6项目上传Git
在导航栏中的VCS-import into Version Control-Share Project on Gitee中进行分享上传





