弃用基本密码身份验证会影响GitHub部署密钥吗



我收到一封来自GitHub的电子邮件,内容是:

您最近使用git/2.24.3(Apple git-128(在username/repo中使用密码访问存储库。使用Git密码的基本身份验证已被弃用,很快将不再有效。参观https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/有关建议的解决方法和删除日期的更多信息。

因此,对于推送到GitHub的git提交,我需要使用另一种标准命令行方法,这应该不是问题。

但我想知道这会影响部署密钥吗?例如,在已经运行了几个月或几年的自动化流程中,我们是否应该为更改做好准备?

我已经查看了博客文章,并注意到还有足够的时间(2021年8月13日弃用(,但为了做好准备,了解对部署密钥的任何影响都很重要。

否,部署密钥不受影响。唯一受影响的是使用密码通过HTTPS向Git或Git LFS进行身份验证。如果通过HTTPS使用个人访问令牌或OAuth令牌,或者使用SSH(无论是使用个人密钥还是部署密钥(,这些都不受影响。

之所以进行此更改,是因为知道帐户的密码后,您就可以登录该帐户、更改密码并配置几乎所有设置。另一方面,令牌不允许您通过web界面登录,并且通常被限制在有限的范围内,并且它是伪随机生成的。类似地,SSH密钥的访问也受到限制,不容易猜测。

因此,意外暴露身份验证凭据的后果会更低,而且替换它的凭据集不太可能从旧暴露中猜出来。

您可以将https://远程URL更改为git@URL(例如ssh(

git remote -v # check that your remote (e.g. origin) is using https://
git remote rm origin
git remote add origin git@github.com:ORGANIZATION_OR_USER/REPO_NAME.git
git fetch --all
git branch -u origin/master master

然后你可以测试它:

git pull
git commit --allow-empty -m "nothing"
git push

最新更新