【区块链】Github命令行即将弃用密码怎么办(九一二)

收到一封邮件,准确的说,是第二次还是第三次收到了。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的帮助写得是非常清晰,照着做很快就搞定了。只需三步:

  1. 创建个人Token
  2. 确保Git缓存了你的认证信息
  3. 把缓存的认证信息修改成Token

1. 创建个人Token

Git的帮助在这里Creating a personal access token,非常清晰。

  1. 确保邮件地址已经验证过了。

  2. 登陆GitHup主页,在右上角,点自己Profile的头像,再点击Settings

    image
  3. 在左边的菜单里,点击Developer Settings

    image
  4. 继续在左边的菜单里,找到并点击Personal Access Token

    image
  5. 点击Generate New Token

image
  1. 给个名字,描述这个Token的用途

    image
  2. 选择权限,如果是用于命令行,选 repo即可

image
  1. 最后点击Generate Token这个按钮
image
  1. 点击图标把Token拷贝出去备用。切记,因为安全原因,若此时不拷贝,离开这页后就再也看不到它了

    image

注意咯,从此后,你的Git命令行,就只能用https,而不能用SSH了。因为Personal Access Token只能用于https……

2. 确保Git缓存了你的认证信息

Git帮助原文在这里Caching your GitHub credentials in Git。

我用的是Mac,只验证了Mac上的操作方法,需要了解在其他操作系统上怎么弄,请看Git帮助原文。

  1. 确保Git 和 osxkeychain helper已经安装,在命令行敲入以下命令,看看是不是会出使用帮助。

    $ git credential-osxkeychain
    # Test for the cred helper
    > Usage: git credential-osxkeychain 
    
  1. 如果, 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
    
  1. 告诉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。有两种方法:

  1. 用Keychain Access来删除或修改
  2. 用命令行来删除

我是用第一种办法搞定的,非常简单。

  1. 首先,用Spotlight找到Keychain Access并运行(惭愧,我是第一次这么用Spotlight)
image
  1. 在Keychain Access里,找到github.com

  2. 双击,勾选下面那个show password

  3. 把Password 替换为之前复制的那个Personal Access Token

  4. 保存,大功告成!

这些技术性的小玩意,不知放到哪个类别,暂时也归入区块链一类吧。毕竟我是因为做区块链的项目重新开始玩git hub的,虽然,现在拿这把牛刀,也只不过用来存每天日更的文章而已。

你可能感兴趣的:(【区块链】Github命令行即将弃用密码怎么办(九一二))