Git因密码验证方式移除无法认证,如何完成GitHub仓库推送?
GitHub 密码验证失效后的身份认证方案
方法一:使用个人访问令牌(适配HTTPS远程地址)
- 生成个人访问令牌:登录GitHub,进入账户设置,找到「Developer settings」→「Personal access tokens」→「Tokens (classic)」,点击「Generate new token」。勾选repo相关权限(全选repo权限即可满足推送需求),设置合适的过期时间,生成后务必复制保存——令牌仅能查看一次,丢失需重新生成。
- 替换密码执行推送:执行
git push时,输入GitHub用户名后,密码栏填写刚才生成的个人访问令牌,而非原账户密码。 - (可选)自动保存凭据:执行
git config --global credential.helper store,后续操作会自动保存令牌,无需重复输入。
方法二:使用SSH密钥(适配SSH远程地址)
- 生成SSH密钥:在本地终端执行命令
ssh-keygen -t ed25519 -C "你的GitHub邮箱地址",全程按回车采用默认设置即可。生成的密钥文件默认存放在~/.ssh/目录(Windows系统路径为C:\Users\你的用户名\.ssh\)。 - 添加公钥到GitHub:打开
id_ed25519.pub文件,复制全部内容。进入GitHub账户设置的「SSH and GPG keys」页面,点击「New SSH key」,粘贴公钥内容,设置一个辨识度高的标题后完成添加。 - 修改远程仓库地址:如果之前用的是HTTPS地址,执行命令
git remote set-url origin git@github.com:BusyBird15/WeatherOne.git切换为SSH地址,之后执行git push -u -f origin main即可免密完成认证推送。
内容的提问来源于stack exchange,提问作者Tyler
相关产品推荐
相关产品推荐

