Git 的HTTS和SSH方式的区别和使用

article/2025/9/25 9:19:36

文章目录

    • 前言
    • HTTPS协议模式
    • SSH 协议模式
        • 1.确认自己电脑是否拥有SSH密钥:
        • 2.生成 SSH 密钥
        • 3.将SSH密钥添加到服务器
        • 4.利用SSH密钥推送
    • 参考链接:

前言

Git 有两种远程仓库与本地仓库之间 push/clone/pull 等操作的验证模式。一种是 HTTPS 模式,另一种是 SSH 模式,这里我主要记录比较两种的区别。


HTTPS协议模式

相对于 SSH 模式,HTTPS 对于新手来说更友好,假设我要 clone 一个项目,直接在clone 后跟上链接即可:

git clone https://github.com/qianfanguojin/compare.git

但是,方便的同时也会产生一些麻烦,当我们在进行push/pull操作时,每次都要输入账号密码。

当然,很多时候我们好像就是只输入了一次,后面也不需要输入了,但其实只是 Windows 操作系统帮我们记录在了 Windows凭据 中,每次我们执行操作的时候,Windows 都自动帮你填写好账号密码:

此时我们执行 push 操作,可以看到:

没有提示输入账号密码,直接推送成功。

但当我删除Windows凭据中的内容:

我再次执行推送,发现弹出输入账号密码的输入窗口:

想要了解更多关于 Git 凭据的信息,可以参考官方文档 Git 工具 - 凭证存储

综上,我们可知,HTTPS 方式在 Git 执行操作时每次都要账号密码验证,但是得益于凭据管理模式,使用起来也方便许多,但当我们在多台电脑上运行操作我们的项目时,每次都要输入账号密码,就会非常的麻烦。


SSH 协议模式

根据 Git 的官方文档 服务器上的 Git - 协议 ,SSH 在 Git 中的使用具有架设简单、高效、方便管理优点,但 SSH 的缺点在于你不能通过它进行匿名访问,即便是只要读取数据,使用者也要有通过 SSH 访问你的主机的权限,这使得 SSH 协议不利于开源的项目。

这里我教大家如何使用SSH来操作。

1.确认自己电脑是否拥有SSH密钥:

cd ~/.ssh
ls

默认情况下,用户的SSH密钥都存储在~/.ssh目录下,也就是用户根目录下的.ssh文件夹中,我们需要寻找一对以 id_dsaid_rsa 命名的文件,其中一个带有 .pub 扩展名。

.pub 文件是你的公钥,另一个则是私钥。 如果找不到这样的文件(或者根本没有 .ssh 目录)No such file or directory 表示文件夹不存在,则表示没有密钥,我们需要自己创建。

2.生成 SSH 密钥

在命令行下(cmd 或是 Git bash)我们可以通过 ssh-keygen命令创建:

ssh-keygen

当然,为了使生成的SSH密钥更清楚明了,还可以添加一些附加控制命令

ssh-keygen -t rsa -C "你的email地址"

其中:
-t 指明密钥类型,默认为 rsa,可省略。
-c 指明注释文字,如邮箱,会显示在你生成的 id_rsa 文件内容最下方。
-f 指定密钥文件存储的文件名字

可以看到,我们使用不带任何参数方法创建时,首先 ssh-keygen 会确认密钥的存储位置,如你没有指定,则它使用默认的目录(默认是 .ssh/id_rsa)。

然后会要求你输入两次密钥口令,口令的作用即是一个密码,即当你使用密钥时需要输入该口令,如果你不想在使用密钥时输入口令,将其留空即可。

3.将SSH密钥添加到服务器

不同的 Git 服务器添加操作区域不一样,这里我以 Github 为例。

点击右上角个人头像,从下拉框中进入Setting:

然后进入SSH and GPG Keys设置:

然后按照下图操作:

4.利用SSH密钥推送

由于我们先前使用的远程关联方式是 HTTPS 链接,所以我们先将远程关联信息删除。

git remote remove origin

然后添加 SSH 链接的远程关联信息

git remote add origin "你的远程仓库SSH链接"

将 master 本地分支推送到远程默认分支

git push --set-upstream origin master

参考链接:

https://blog.csdn.net/duzilonglove/article/details/79415628

保姆级教程,教你使用Git推送你的项目到Github_千帆过烬的博客小站-CSDN博客


http://chatgpt.dhexx.cn/article/aSnD14Jq.shtml

相关文章

TCP / IP 协议族和HTTS

TCP / IP 协议族 概念 一系列协议所组成一个网络分层模型 为什么要分层? 因为网络的不稳定性 如果我们传一个50M的数据,如果失败,每次都将需要重新传50M,但我们把它分成多块,失败时候只需重新传输失败的那一块。 具…

htts 原理

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。 HTTPS简介 HTTPS其实是有两部分组成:HTTP SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和…

charles抓htts包总结

参考:Charles问题之抓Android手机应用Https包,出现Unknown - 简书 (jianshu.com)Charles问题之Windows10下抓取https包,出现unknown - 简书 (jianshu.com) 一、安装charles root证书 二、在浏览器安装证书(用以电脑浏览器抓https) 三、手机抓…

htts加密过程

文章目录 HTTPS 什么是HTTPS什么是‘加密’ 加密的方式有哪些 对称加密非对称加密 总结HTTPS传输过程 什么是HTTPS HTTPS与HTTP一样都是应用层协议,与HTTP不同的是:HTTP的协议内容都是按照文本方式进行明文传输的,这导致在传输过程第三方者…

HTTS 为什么更安全?

本文已收录于专栏 ⭐️ 《计算机网络》⭐️ 学习指南: HTTPS引入SSL协议加密方式摘要算法数字证书 SSL/TLS握手经典面试题HTTP 与 HTTPS 区别?HTTPS 目前有哪些不足? 完结散花参考文献 HTTPS 引入 HTTP 最凸出的优点是「简单、灵活和易于扩…

HTTPS安全通信基础

导读HTTPS协议提供了较为完善的方案,HTTPS不是一种新协议,是通过HTTP结合SSL/TSL实现了通信安全。但是HTTPS也有其缺点,所以要结合具体场景情况合理地使用才能发挥HTTPS的强大作用。 HTTP是一个优秀的通信协议,不过事物皆具有双面…

HTTP协议与HTTPS协议的介绍与区别

目录 1. HTTP协议的介绍: 2. HTTP工作原理: 3.HTTP三点注意事项: 4.HTTP请求和响应的格式: 5.HTTPS协议的简单介绍: 6.HTTPS的作用: 7.HTTS方式与Web服务器通信的步骤: 8.HTTP与HTTPS的区别&#xf…

HTTS基础知识

简介 HTTPS 指的是超文本传输安全协议(Hypertext Transfer Protocol Secure)。简单的理解,HTTPS 就是将 HTTP 中的传输内容进行了加密,然后通过可靠的连接,传输到对方的机器上。加密的协议是 TLS,其前身是 SSL&#x…

2020年6月最新iOS面试题总结(答案篇)

之前发了这篇iOS面试总结(2020年6月),没想到挺受大家欢迎,本来是没打算为它写答案,但有几个人建议我最好出一篇答案,提的人多了我就答应了下来。因为最近比较忙,断断续续总算补完了,…

iOS面试(内含面试全流程,面试准备工作面试题等)

推荐👇: 收录:zhangferry 都说今年互联网行情很差,iOS行情更差。但到底怎么样呢,不能光听别人说,而要自己走出去看一看。我的面试的阶段基本都在3月份,准备的阶段则要再往前推个半个月吧。期间约到了不少…

iOS面试

iOS面试 智力题计算机基础面向对象的三个要素?堆和栈的区别?HTTP和HTTPS区别?OSI七层模型和五层模型以及对应的协议?HTTP头域包括?说几个状态码?https一定是安全的吗?TCP和UDP的区别&#xff1f…

iOS面试题

整理一些重点和面试问到几率比较大的题目给小伙伴 对您有帮助或者您喜欢的话 希望能点个赞或者添加一下关注 一. CALayer和UIView的区别联系 1 UIView是UIKIt的只能在iOS使用, CALayer是QuartzCore的 iOS和mac os通用2 CALayer比UIView更加轻量级,但是可以实现同样的效果3 UI…

ios面试准备 - 网络篇

iOS面试准备 - ios篇 ios面试准备 - objective-c篇 ios面试准备 - 网络篇 IOS面试准备 - C篇 iOS面试准备 - 其他篇 http和https是什么?http和https有什么区别? HTTP协议是超文本传输协议的缩写,英文是Hyper Text Transfer Protocol。它是从…

iOS面试准备 - ios篇

iOS面试准备 - ios篇 ios面试准备 - objective-c篇 ios面试准备 - 网络篇 IOS面试准备 - C篇 iOS面试准备 - 其他篇 运行时 https://juejin.cn/post/6844903586216804359 Runtime消息发送机制 首先进行方法的查找: 1)iOS调用一个方法时,实…

iOS基础面试题(二)

多数是CocoaTouch社区的回复,其中蓝色字体是我的补充 所有的群都已到人数上限,本着“与时俱进”精神,建了个"iOS面试"公众号, 大家扫码关注后,可直接发消息给我,iOS面试相关的问题我会尽量一一回复。 iOS面试题系列: iOS如何面试 iOS基础面试题(一) iOS基础…

2021 iOS面试题大全---全方面剖析面试(一)

(答案不唯一,仅供参考,文章最后有福利) 一. iOS面试题—UI相关:事件传递,图像显示,性能优化,离屏渲染 UIView与CALayer事件传递与视图响应链图像显示原理UI卡顿掉帧原因滑动优化方案UI绘制原理离屏渲染一、UIView与CALayer <单一职责原则> UIView为CALayer提供内…

差分隐私(二)指数,高斯,拉普拉斯机制

在应用差分隐私进行隐私保护中&#xff0c;需要处理的数据主要分为两大类&#xff1a; 数值查询&#xff1a;一般采用 L a p l a c e Laplace Laplace &#xff08;严格DP&#xff09;或者高斯机制&#xff08;松弛DP&#xff09;对得到数值结果加入随机噪声即可实现差分隐私。…

电路模型和电路定律(Ⅲ)

&#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是泽奀&#x1f496;&#x1f3c5;2021年度博客之星物联网与嵌入式开发TOP5→作者周榜56→总排名3255&#x1f3c5; &#x1f4dd; 个人主页&#xff1a;泽奀的博客_CSDN博客&#x1f381;欢迎各位→点赞&#x1f44d; …

拉普拉斯的几个重要定理

目录 线性性质 微分性质 积分定理 实位移定理 复位移定理 初值定理 终值定理 线性性质 微分性质 积分定理 实位移定理 复位移定理 初值定理 终值定理

菲兹定律(Fitts's law)

菲兹定律 介绍什么是菲兹定律&#xff1f;初识菲兹定律信息论和香农公式吞吐量(Throughput)菲兹范例菲兹定律的修正有效宽度We&#xff08;effective target width)深入理解菲兹定律示例总结我对菲兹定律的理解 介绍 本博客是基于《The Wiley Handbook of Human Computer Inte…