git clone,用https还是ssh
前言
在使用Git去克隆项目时,会遇到https和ssh等形式,这两种又有何种区别呢,本文将重点讨论在具体使用中的问题。
注
:第一次使用Git 时,需要先设置全局用户名和邮箱,否则后续使用命令时会报错,也是提醒先添加信息,这个的意义就是在提交时知道是谁提交的
HTTPS
HTTPS(全称为Hypertext Transfer Protocol Secure)是一种用于安全通信的网络协议,是HTTP(超文本传输协议)的安全版本。它在HTTP的基础上通过SSL/TLS(安全套接层/传输层安全性)协议提供了数据加密、数据完整性验证和身份验证机制。
特点:
git clone 和 git pull 无限制,git push 需要提供用户名和密码
git push
后要求输入用户名和密码,来验证是谁来往这个项目提交
点击“Cancel”后,就把输入界面改到终端了:
❗️❗️❗️这里的用户名就是全局中存储的用户名,但是密码不是那个邮箱了,尝试后会有如下报错信息❌❌❌。
原因:自2021年8月13日起,GitHub不再支持密码认证,转而要求使用个人访问令牌。需要在GitHub生成token作为密码。
解决方案:Git:Support for password authentication was removed on August 13, 2021. Please use a personal
>❗️❗️❗️生成token并输入成功push后,再次push发现还是得输入,这就是https类型的弊端,每次push都需要进行验证😟😟😟>解决方案:存储密码,这样在第一次输入信息后可以记录下来,之后直接调用不用手输了
- 默认15分钟:
git config --global credential.helper cache
git config credential.helper cache
- 自己设置时间:
git config credential.helper 'cache --timeout=3600'
这样就设置一个小时之后失效- 长期存储密码:
git config --global credential.helper store
(全局)
git config credential.helper store
(局部)- 取消存储密码
git config --global --unset credential.helper
❗️❗️❗️因为之前设置的token过期失效,密码存储的是过期的token密码,当更新完token后,再push就会出现如下密码不对的报错情况❌❌❌
取消密码存储并重新输入新的token密码后就可以push啦。
从上述操作可以看出https的验证比较麻烦😞😞😞,这就有了ssh的便捷操作⬇️⬇️⬇️。
SSH
SSH(全称为Secure Shell)也是一种网络协议,用于加密方式远程登录到服务器,以及其他网络服务的安全传输,SSH使用公钥加密技术来加密所有传输的数据,保护数据不被窃听。
特点:
在托管平台上设置 ssh public key,git push 时无需输入用户名和密码验证
具体操作参考下列两个博客,具体克隆方法不再赘述,换成ssh链接即可:
✨✨✨SSH公钥秘钥git
⭐️GitHub、Gitee、Gitlab共用一个SSH密钥配置
原文地址:https://blog.csdn.net/qq_51706641/article/details/143358669
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!