Git的ssh方式如何配置,如何通过ssh方式拉取和提交代码

news2025/1/12 8:53:52

git的ssh配置

  • HTTPS和SSH的区别
  • 设置SSH方式
  • 配置单个仓库
  • 配置账户公钥

大家通过git拉取代码的时候,一般都是通过http的方式,简单方便。但是细心的童鞋肯定也注意到Git也是支持ssh方式的。可能很多人也试过使用这个方式,但是好像没有那么简单。那么什么是SSH呢?为啥要使用SSH方式呢?

HTTPS和SSH的区别

Git支持使用HTTPS和SSH两种方式与远程仓库进行通信和代码传输,它们在一些方面有所不同。

身份验证:HTTPS使用用户名和密码进行身份验证,而SSH使用公钥认证,通过生成公钥和私钥对来建立安全连接。
传输速度:SSH方式在数据传输时通常比HTTPS方式更快一些,因为SSH采用了压缩和多路复用等技术。
安全性:SSH方式相对于HTTPS方式更安全,因为SSH使用公钥和私钥进行身份验证,并通过加密的SSH隧道传输数据。

那么从这个区别我们就可以指定,选择使用SSH方式的一些原因包括:

安全性要求高:SSH使用密钥对进行身份验证和数据传输加密,提供了更高的安全性,适用于需要保护代码和传输数据的私密性的情况。
压缩与传输效率:SSH可以对数据进行压缩再传输,减少数据的传输量,从而提高传输效率。相比之下,HTTP方式在传输过程中不会进行压缩处理,可能导致传输时间更长。
方便的身份验证管理:使用SSH方式时,可以通过在本地计算机上配置SSH密钥对来进行身份验证,可在多个远程仓库上进行方便管理。

当然有些人说SSH方式不用频繁的输密码,但是HTTP方式也可以通过设置来实现,严格来说,这个并不能算是优势。

所以总的来说,SSH方式相对更安全,并且利用公钥和私钥来建立连接,提供了更高的身份验证和数据传输的保障。相比于HTTP方式,SSH方式通常具有更快的传输速度和更好的性能。

设置SSH方式

那么我们如何使用ssh方式来拉取、推送代码呢,下面以linux机器,gitee平台为例,详细介绍一下整个过程。
首先在自己的机器上面输入以下命令

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

your_email@example.com需要填写你再gitee或者github上提交代码的那个邮箱
然后到~/.ssh/目录下就可以看见两个文件。

id_rsa
id_rsa.pub

id_rsa是私玥,id_rsa.pub是公钥,公玥是填写再在服务器上的,如果是提交到gitee或者github上面的话,就需要就那上面去配置公玥,私玥是自己本地使用的。
复制出id_rsa的公玥内容,然后打开gitee网站。

我们可以对单个仓库或者整个账户进行配置。

如果对单个仓库进行配置的话,那么只能对单个仓库进行克隆,拉取代码,没有办法进行提交代码,也就是说只有读的权限,没有写的权限。

如果对整个账户进行配置的话,那么不仅可以对所有的仓库进行克隆、拉取代码,对所有的仓库也可以进行提交代码,不仅有读的权限也有写的权限。

配置单个仓库

如图所示,打开自己需要配置的仓库,打开右边的管理选项

点击右边的部署公玥管理,点击添加公玥
输入图片说明
打开添加部署公钥界面,公玥标题可以随便填,下方就填写公玥内容,就是上面在你自己机器上生成的id_rsa.pub文件里面的内容
输入图片说明
然后在你机器上,输入如下命令测试看看是否添加成功

[root@localhost note]# ssh -T git@gitee.com
Hi Anonymous (DeployKey)! You've successfully authenticated, but GITEE.COM does not provide shell access.
Note: Perhaps the current use is DeployKey.
Note: DeployKey only supports pull/fetch operations

输入图片说明

配置账户公钥

以上对仓库添加公玥只能实现对仓库的读惭怍,如果您想要对仓库进行写操作,就需要添加个人公钥,也可以叫账户公玥。鼠标移到右上角自己的账户上,选择其中的设置按钮。
输入图片说明
打开设置界面,选择安全设置下的SSH公玥
输入图片说明
和配置仓库公玥一样,公玥标题可以随便填,公玥内容,就是填写上面在你自己机器上生成的id_rsa.pub文件里面的内容
输入图片说明
然后在你机器上,输入如下命令测试看看是否添加成功,这里输出的内容和上方不同,账户公玥输出的是自己的用户名

[root@localhost note]# ssh -T git@gitee.com
Hi 【你的用户名】! You've successfully authenticated, but GITEE.COM does not provide shell access.

输入图片说明

更多精彩内容,请关注同名公众:一点sir(alittle-sir)

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

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

相关文章

企业架构LNMP学习笔记57

MongoDB的安全设置: 安全: MongoDB的安全事件: 2017年年初: 利用SMB漏洞可以获得系统最高权限。wannacry勒索病毒。当年确实遇到过这个事情。 比特币的概念:开源软件 P2P网络 P2P形式的数字货币。交易记录公开透明。…

Mysql--Java的JDBC编程

Java的数据库编程:JDBC JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。 下载驱动包作为项目的依赖,数据库驱动包的版本要和数据库服务器的版本…

前端中的跨域请求及其解决方案

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 跨域(Cross-Origin)⭐CORS(跨域资源共享)⭐JSONP(JSON with Padding)⭐代理服务器⭐ WebSocket⭐服务器设置响应头⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a…

Spring + vue 项目部署(全网最详细教程_含内网穿透部署)

本项目以Springboot 2.7.11和vue2做参考示例 第一步 展示前后端代码的成品 前端Vue 后端Java 项目写完后,差不多就是这个样子,仅供参考! 第二步 开始打包前后端项目 前端打包的方式有以下几种: 方法1: #直接打包&#xff0…

【数据结构】【C++】红黑树RBTree的模拟实现(平衡搜索二叉树)

【数据结构】&&【C】红黑树的模拟实现(平衡搜索二叉树) 一.红黑树的性质二.红黑树的模拟实现1.结点的定义2.搜索树的插入3.变色向上处理4.旋转变色 三.红黑树与AVL树的差别四.完整代码 一.红黑树的性质 1.什么是红黑树? 红黑树是一种搜索二叉树…

页面上下左右滑动事件

1.下载插件 npm install vue-touchnext -S 2.main.js加入以下代码 import VueTouch from vue-touch Vue.use(VueTouch, { name: v-touch }) VueTouch.config.swipe { threshold: 50 //设置左右滑动的距离 } 3.完整代码 <template><div><v-touch swipe…

Java 基础——运行第一个Java程序

【学习笔记】Java 基础——运行第一个Java程序 关键词&#xff1a;Java、Spring Boot、Idea、数据库、一对一、培训、教学本文主要内容是在IDEA中运行第一个Java程序&#xff1a;Hello World计划30分钟完成&#xff0c;请同学尽量准备工具有学习需要请联系&#xff1a;xujian_…

css多个物体椭圆旋转

实现效果 html代码 <div class"background-img"><div class"area"><div class"ball ball1"></div><div class"ball ball2"></div><div class"ball ball3"></div><div …

道路空间功率谱密度与时间功率谱密度(笔记)

1.先上代码其中之一 clc clear close all %% SimTime200; dt0.01;%仿真步长 time0:dt:SimTime; sim_step length(time); Ntlength(time); % 采样点&#xff08;可能要修改&#xff09; u10; % m/s df1/(Nt*dt); % 采样频率间隔 f0:df:1/(2*dt); % 采用频率一…

数据脱敏的风险量化评估介绍

1、背景介绍 当前社会信息化高速发展&#xff0c;网络信息共享加速互通&#xff0c;数据呈现出规模大、流传快、类型多以及价值密度低的特点。人们可以很容易地对各类数据实现采集、发布、存储与分析&#xff0c;然而一旦带有敏感信息的数据被攻击者获取将会造成个人隐私的严重…

NTIRE2023-RTSR-Track2 冠军方案详解

编辑 | Happy 首发 | AIWalker 链接 | https://mp.weixin.qq.com/s/JQ5g9yn_OdjR8hi_tWc4jA arXiv:2305.02126 , cvpr2023 , code , video 本文了一个实时&轻量图像超分方案Bicubic&#xff0c;它通过下采样模块降低图像分辨率以减少计算量&#xff0c;在网络尾部采用…

R语言绘制染色体变异位置分布图,RIdeogram包

变异位点染色体分布图 今天分享的内容是通过RIdeogram包绘制染色体位点分布图&#xff0c;并介绍一种展示差异位点的方法。 在遗传学研究中&#xff0c;通过测序等方式获得了基因组上某些位置的基因型信息。 如下表&#xff0c;第一列是变异位点的ID&#xff0c;第二列是染色体…

Python 字典的定义

视频版教程 Python3零基础7天入门实战视频教程 字典dict 字典也是Python提供的一种常用的数据结构&#xff0c;它用于存放具有映射关系的数据。 字典的定义 比如有成绩表数据——语文:68&#xff0c;数学:98&#xff0c;英语: 76&#xff0c;这组数据看上去像两个列表&…

每天几道Java面试题:集合(第四天)

目录 第四幕 、第一场&#xff09;大厦楼下门口第二场&#xff09;大门口 友情提醒 背面试题很枯燥&#xff0c;加入一些戏剧场景故事人物来加深记忆。PS:点击文章目录可直接跳转到文章指定位置。 第四幕 、 第一场&#xff09;大厦楼下门口 【面试者老王&#xff0c;门卫甲…

浅谈C++|STL之stack+queue+priority_queue篇

一.stack基本概念 栈&#xff08;Stack&#xff09;是一种常见的线性数据结构&#xff0c;遵循后进先出&#xff08;Last-In-First-Out&#xff0c;LIFO&#xff09;的原则。类似于我们在现实生活中堆叠书本或盘子的方式&#xff0c;最后放入的元素最先被取出。 在栈中&#…

【基于多输出方向的同步异步日志系统】

本项目涉及的到所有源码见以下链接&#xff1a; https://gitee.com/ace-zhe/wz_log 一、项目简介 1.日志的概念&#xff08;白话版&#xff09; 日志类似于日记&#xff0c;通常是指对完成某件事情的过程中状态等的记录&#xff0c;而计算机中的日志是指日志数据&#xff0c…

Python实现的mqtt客户端工具分享,小巧且超轻量级(python+tkinter+paho.mqtt)

mqtt协议调试时需要个客户端工具&#xff0c;但网上找的体积包都很大&#xff0c;都不够小巧和便携。于是趁周末时间用python搞出来了个客户端工具&#xff0c;使用pythontinkerpaho.mqtt实现。源码量很少但功能不弱&#xff0c;相当的轻量级。分享给有需要的小伙伴&#xff0c…

论文写作指导手册

TIPS&#xff1a;最近我们上线了“AI写作大师”&#xff0c;后续会继续围绕论文、文章、文案写相关的文章&#xff0c;来验证写作大师能力如何&#xff0c;敬请持续关注&#xff08; openrabbit.net&#xff09;&#xff5e; 一、论文选题 选题是论文研究的第一步&a…

Prometheus+Grafana可视化监控【Nginx状态】

文章目录 一、安装Docker二、安装Nginx(Docker容器方式)三、安装Prometheus四、安装Grafana五、Pronetheus和Grafana相关联六、安装nginx_exporter七、Grafana添加Nginx监控模板 一、安装Docker 注意&#xff1a;我这里使用之前写好脚本进行安装Docker&#xff0c;如果已经有D…

软件测试中常见的难题

1、需求定义&#xff1a; 需求可能不完整或者不准确&#xff0c;这会导致测试人员无法测试应用程序的所有功能。 例如&#xff1a;在一个电子商务网站上&#xff0c;可能需要测试的某些操作并未在需求中列出&#xff0c;导致测试人员无法测试到这些操作。 对策&#xff1a;测…