收到一封邮件,准确的说,是第二次还是第三次收到了。GitHub发过来的,标题是:
[GitHub] Deprecation Notice
Hi @hooman118,
You recently used a password to access the repository at hooman118/hoo-wiki with git using git/2.21.0 (Apple Git-122).
Basic authentication using a password to Git is deprecated and will soon no longer work. Visit https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information around suggested workarounds and removal dates.
Thanks,
The GitHub Team
点开链接一看,原来果然是去年底就公告了。要求以后命令行或者第三方API都改成Token而不是密码。这样当然更安全啦,但是我一直懒得改,毕竟一直能用。不过呢,2021年8月13号以后,命令行就再也不允许使用密码了。还是早点折腾下吧。
好在GitHub的帮助写得是非常清晰,照着做很快就搞定了。只需三步:
- 创建个人Token
- 确保Git缓存了你的认证信息
- 把缓存的认证信息修改成Token
1. 创建个人Token
Git的帮助在这里Creating a personal access token,非常清晰。
确保邮件地址已经验证过了。
-
登陆GitHup主页,在右上角,点自己Profile的头像,再点击Settings。
-
在左边的菜单里,点击Developer Settings
-
继续在左边的菜单里,找到并点击Personal Access Token
点击Generate New Token
-
给个名字,描述这个Token的用途
选择权限,如果是用于命令行,选 repo即可
- 最后点击Generate Token这个按钮
-
点击图标把Token拷贝出去备用。切记,因为安全原因,若此时不拷贝,离开这页后就再也看不到它了。
注意咯,从此后,你的Git命令行,就只能用https,而不能用SSH了。因为Personal Access Token只能用于https……
2. 确保Git缓存了你的认证信息
Git帮助原文在这里Caching your GitHub credentials in Git。
我用的是Mac,只验证了Mac上的操作方法,需要了解在其他操作系统上怎么弄,请看Git帮助原文。
-
确保Git 和
osxkeychain helper
已经安装,在命令行敲入以下命令,看看是不是会出使用帮助。$ git credential-osxkeychain # Test for the cred helper > Usage: git credential-osxkeychain
-
如果,
osxkeychain helper
没装好,你会看到下面的提示,让你安装Xcode 命令行工具:$ git credential-osxkeychain > xcode-select: note: no developer tools were found at '/Applications/Xcode.app', > requesting install. Choose an option in the dialog to download the command line developer tools.
或者,你可以用Homebrew来安装Git 和
osxkeychain helper
,如下:$ brew install git
-
告诉Git,使用
osxkeychain helper
来做全局的credential.helper
配置,如下:$ git config --global credential.helper osxkeychain # Set git to use the osxkeychain credential helper
3. 把认证信息修改成Token
这部分的帮助原文在这里Updating credentials from the macOS Keychain。有两种方法:
- 用Keychain Access来删除或修改
- 用命令行来删除
我是用第一种办法搞定的,非常简单。
- 首先,用Spotlight找到Keychain Access并运行(惭愧,我是第一次这么用Spotlight)
在Keychain Access里,找到github.com
双击,勾选下面那个show password
把Password 替换为之前复制的那个Personal Access Token
保存,大功告成!
这些技术性的小玩意,不知放到哪个类别,暂时也归入区块链一类吧。毕竟我是因为做区块链的项目重新开始玩git hub的,虽然,现在拿这把牛刀,也只不过用来存每天日更的文章而已。