当你在使用 Git 进行操作时遇到错误信息 "remote: Invalid username or token. Password authentication is not supported for Git operations",这通常意味着你在尝试使用用户名和密码进行认证,但是你的 Git 服务器(比如 GitHub, GitLab, 或 Bitbucket)已经不再支持密码认证,或者你的账户设置不允许密码认证。
为了解决这个问题,你可以采取以下几种方法:
1. 使用 SSH 密钥认证
这是推荐的方法,因为它更安全。你可以按照以下步骤设置 SSH 密钥:
生成 SSH 密钥
如果你还没有 SSH 密钥,你可以通过以下命令生成一个:
bash
ssh-keygen -t ed25519 -C "your_email@example.com"
这是 ssh-keygen 生成密钥时的二次确认提示 ,要求你重复输入刚才设定的密码短语(Passphrase) 以确保无误;若不想设密码,直接按两次回车即可 。
含义与操作
- 出现场景 :执行
ssh-keygen生成 SSH 密钥对时,在输入完第一次密码短语后出现。 - 目的:防止因误触或输入错误导致密钥被错误的密码锁定。
- 正确操作 :
- 若需设置密码:完全重复输入第一次的密码(区分大小写、空格及特殊字符),输入时屏幕不显示字符。
- 若无需密码 :直接按 Enter 键(留空),再次按 Enter 确认。
- 失败后果 :若两次输入不一致,系统会提示
Passphrases do match. Try again.并要求重新输入 。
按照提示操作,你可以选择直接按回车使用默认设置。
添加 SSH 密钥到你的账户
将生成的公钥(默认保存在 ~/.ssh/id_ed25519.pub)添加到你的 Git 服务(如 GitHub, GitLab)的账户设置中。
配置 Git 使用 SSH
确保你的 Git 配置使用 SSH 而不是 HTTPS 来访问远程仓库:
bash
git remote set-url origin git@github.com:username/repository.git
替换 username/repository 为你的仓库地址。
git config --global user.name "username"
git config --global user.email "email"
查看远程仓库地址
git remote -v
配置清单
git config --global --list
移除远程源地址
git remote remove origin