今天往github推送代码出现无法访问仓库的问题,账号密码也无法使用,弄了好久才解决,想着写一篇博客总结一下。
问题
一般出现OpenSSL的字码说明这是一个https加密协议,https在没有身份验证(登录)的情况下,是无法进行git操作的。
解决
出现这个报错的原因是前面与仓库建立连接时,用了https地址,https需要身份验证才可以进行其他git操作,所以解决这个报错有四种方法:
- 本地仓库与远程创建连接时,不要用https地址
- 直接用ssh密钥(git地址)
git是github内部自定义的通信协议,git操作不会被拦截 - 将https改为http
http属于未加密协议
- 直接用ssh密钥(git地址)
- 如果用了https地址
-
解除ssl验证
用以下命令解除ssl验证,这样就会解除了https拦截(https = ssl + http)git config --global http.sslVerify false·
-
token验证身份
验证步骤:- 去github申请token(之前申请过且没过期,可以省略这一步)
- 登录验证身份
-
账号密码问题
As previously announced, starting on August 13, 2021, at 09:00 PST, we will no longer accept account passwords when authenticating Git operations on GitHub.com. Instead, token-based authentication (for example, personal access, OAuth, SSH Key, or GitHub App installation token) will be required for all authenticated Git operations.文章来源:https://www.toymoban.com/news/detail-503408.html
大致意思就是说,现在已经不支持密码验证,就是无法再用密码方式去提交代码,请用personal access token代替。文章来源地址https://www.toymoban.com/news/detail-503408.html
申请token
- 点开GitHub主页的setting
- 点开Developer settings
- 找到Personal access tokens,选择第二个(Tokens(classic)),点击Generate new token,按照步骤申请即可
a. 注意:scopes(范围)这里建议全选
b. 生成的token需要自己保存起来
总结
- 如果本地和远程仓库关联时地址选用https,后续会出现很多麻烦,所以建议使用ssh密钥。
- 目前密码验证已被github官方移除,需要先去官网申请token,用token才能验证身份。
到了这里,关于github身份验证解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!