验证方式
对于私有的仓库我们想要进行操作,远程仓库会对我们的身份进行验证:如果没有验证,任何人都可以随意操作仓库是一件非常危险的事情。
目前Git服务器验证手段主要有两种:
- 方式一:基于HTTP的凭证存储(Credential Storage);
- 方式二:基于SSH的密钥;
http 凭证
http 无状态连接
为什么http的验证方式叫凭证存储(Credential Storage),而不叫 http 用户名密码验证?
- 因为本身HTTP协议是无状态的连接。无状态连接的意思就是下一个请求不会记录上一个请求的任何状态。相互完全独立。
- 比如你去买奶茶,每天一杯,然后奶茶妹妹就对你影响特别深,并在某一天请你喝了一杯奶茶。这个买奶茶就是有状态的,奶茶妹妹对你的印象逐步加深,是因为记住了你之前来过。如果是无状态,那就是奶茶妹妹的记忆力只有七秒,买完就不记得你了。
- 正因为 http 是无状态的连接,所以为了让服务器认出你,我们需要的是凭证,而用户名密码只是凭证中的一种实现。
并且因为 http 无状态连接的特点,所以每次的请求,我们都需要带上凭证,这很麻烦。
所以为了不让用户点个按钮输入账号密码,再点一次又输入一次账号密码。大家就想方设法在请求中自动携带上凭证或者手动携带上凭证。
自动携带凭证利用的就是 cookie;手动携带凭证的实

本文介绍了Git远程仓库的两种主要验证方式:HTTP凭证存储和SSH密钥。HTTP验证依赖于凭证系统,如cache和store模式,或特定平台的钥匙串。SSH验证则基于公钥-私钥对,允许无密码登录。详细讨论了SSH密钥的生成和使用,包括ed25519和RSA加密算法。
最低0.47元/天 解锁文章
700

被折叠的 条评论
为什么被折叠?



