Linux环境GitHub推送仓库如何取消每次手动输入登录密码
GitHub仓库连接不再支持网页的登录密码验证 从 2021年8月13日 开始,GitHub 的仓库必须使用 Token 或者 SSH 秘钥验证,不再支持网页的登录密码,否则报错:
1
2
3
4
5
6
# git push origin main
Username for 'https://github.com': luoji@gmail.com
Password for 'https://luoji@gmail.com@github.com':
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/luoji/luoji.github.io.git/'
注意!此处 Password 应输入 GitHub设置 中创建的 Token 而非网页登录密码。 创建生成自己的Token 登录GitHub网页端 【Settings】-【 Developer settings】-【Personal access tokens】页面,点击【Generate new token】按钮创建生成新令牌 注意!记得把你新建的 Token 保存下来,Token 只显示在当前页以后无法再查看,若是遗忘只能重新创建。 拉取和推送GitHub仓库
1
2
3
4
5
6
将 Git 仓库从 GitHub 复制到 本地仓库:
# git clone https://github.com/luoji/luoji.github.io.git
进入 本地仓库目录:
# cd luoji.github.io
将 当前目录的仓库 推送到 GitHub 中的 Git 仓库
# git push origin main
默认推送仓库时每次都需要手动输入密码
1
2
3
4
查看远程仓库地址
# git remote -v #查看远程仓库地址
origin https://github.com/luoji/luoji.github.io.git (fetch)
origin https://github.com/luoji/luoji.github.io.git (push)
推送 push 测试
1
2
3
4
# git push origin main
Username for 'https://github.com':
Password for 'https://luoji@gmail.com@github.com':
#每次 push 都需要手动输入用户名和token
推送仓库不再提示用户名和密码的配置 原理:如果远程仓库地址的URL带有token,则执行 “git push origin main” 推送时不再提示需要输入用户名和密码:
1
https://<your_token>@github.com/<USERNAME>/<REPO>.git
仓库设置为含有 token 的 远程仓库URL 命令(可以是协作的他人仓库) : # git remote set-url origin https://
解释说明范例:
1
2
3
4
5
6
7
8
9
假设 Github 的 Clone 地址(HTTPS)是:
https://github.com/luoji/luoji.github.io.git
则带Token的地址格式为:
https://<your_token>@github.com/luoji/luoji.github.io.git
<your_token>:换成自己的token
最终转换命令为:
# git remote set-url origin https://ghp_b00H6@github.com/luoji/luoji.github.io.git
查看修改后的远程仓库地址
1
2
3
# git remote -v
origin https://ghp_b00H6@github.com/luoji/luoji.github.io.git (fetch)
origin https://ghp_b00H6@github.com/luoji/luoji.github.io.git (push)
成功!此后执行推送命令 “git push origin main” 将不再提示需要输入 用户名 和 Token 密码!
https://luoji.men/2022/09/how-to-cancel-manually-entering-login-password-every-time-in-github-push-warehouse-under-linux-environment/
This post is licensed under CC BY 4.0 by the author.