remote: Invalid username or token. Password authentication is not supported for Git operations
remote: Invalid username or token. Password authentication is not supported for Git operations. fatal: Authentication failed for…
该文章解决在新系统中进行 git 操作时,第一次的登陆问题,由于Github不再支持使用账号密码进行 Git https 推送,可以采用 ssh 密钥的方式进行长期的推送
1.生成SSH key
ssh-keygen -t ed25519 -C "[email protected]"这里的-t 表示要生成的密钥类型,这里生成的类型为ed25519,是一种椭圆曲线算法,比传统的RSA更加安全、密钥更短,并且速度更快
2.将 SSH key 添加到GitHub中
cat ~/.ssh/id_ed25519.pub 将输出的内容复制到Github -> Settings -> SSH and GPG keys -> New SSH key
如下图所示

自己起一个Title 密钥类型选择默认的Authentication key即可
然后点击 “Add SSH key” 即可
3.修改远程仓库为 SSH 地址
在本地仓库中输入
git remote set-url origin [email protected]:username/reponame.git 将上面的username和reponame分别替换为你的用户名和仓库名称
4. 测试连接
ssh -T [email protected] 如果显示
Hi username! You've successfully authenticated, but GitHub does not provide shell access. 那么就说明SSH的配置正确,可以进行正常的git 操作了,这里的 username 显示为你的GitHub用户名
5.进行第一次推送
git push -u origin master 这时就会发现推送成功,不需要输入密码或者token了
这里的 -u 是 --set-upstream,将本地的master分支与远程仓库origin/master关联起来
以后只需要写git push或者git pull即可,不需要每次都写一长串了