Gui基础使用之项目部署

🎬 艳艳耶✌️:个人主页

🔥 个人专栏 :《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中进行分享上传

相关推荐
Smile丶凉轩8 小时前
微服务即时通讯系统的实现(服务端)----(1)
c++·git·微服务·github
会讲英语的码农12 小时前
Git项目管理
gitee·github
和你一起去月球17 小时前
TypeScript - 函数(下)
javascript·git·typescript
我不是程序猿儿18 小时前
【GIT】TortoiseGit的变基(Rebase)操作
git
yyycqupt1 天前
git使用(一)
git
Kkooe1 天前
GitLab|数据迁移
运维·服务器·git
Beekeeper&&P...1 天前
git bash是什么,git是什么,git中的暂存区是什么,git中的本地仓库是什么,git中工作目录指的是什么
开发语言·git·bash
兰琛1 天前
20241121 android中树结构列表(使用recyclerView实现)
android·gitee