今天往github推送代码出现无法访问仓库的问题,账号密码也无法使用,弄了好久才解决,想着写一篇博客总结一下。
文章目录
问题
一般出现OpenSSL的字码说明这是一个https加密协议,https在没有身份验证(登录)的情况下,是无法进行git操作的。
解决
出现这个报错的原因是前面与仓库建立连接时,用了https地址,https需要身份验证才可以进行其他git操作,所以解决这个报错有四种方法:
- 本地仓库与远程创建连接时,不要用https地址 - 直接用ssh密钥(git地址) git是github内部自定义的通信协议,git操作不会被拦截- 将https改为http http属于未加密协议
- 如果用了https地址 - 解除ssl验证 用以下命令解除ssl验证,这样就会解除了https拦截(https = ssl + http)
git config --global http.sslVerify false·
- token验证身份**验证步骤:**1. 去github申请token(之前申请过且没过期,可以省略这一步)2. 登录验证身份
账号密码问题
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.
大致意思就是说,现在已经不支持密码验证,就是无法再用密码方式去提交代码,请用personal access token代替。
申请token
- 点开GitHub主页的setting
- 点开Developer settings
- 找到Personal access tokens,选择第二个(Tokens(classic)),点击Generate new token,按照步骤申请即可 a. 注意:scopes(范围)这里建议全选 b. 生成的token需要自己保存起来
总结
- 如果本地和远程仓库关联时地址选用https,后续会出现很多麻烦,所以建议使用ssh密钥。
- 目前密码验证已被github官方移除,需要先去官网申请token,用token才能验证身份。
版权归原作者 月亮o_o 所有, 如有侵权,请联系我们删除。