升级你的GitHub终端认证方式:从密码到令牌

升级你的GitHub终端认证方式:从密码到令牌

前言

GitHub官方在2021年8月14日进行了一次重大改变,它将终端推送代码时所需的身份认证方式从密码验证升级为使用个人访问令牌(Personal Access Token)。这个改变引起了一些新的挑战,例如当你试图进行push操作时,你可能会遇到以下错误信息:remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

这次变革的目的在于提高GitHub账户的安全性,并为开发者提供更可靠的身份认证方式。以前,我们可以通过在终端输入密码来进行验证,但现在,我们需要使用个人访问令牌来代替。这个令牌相当于一个密码,但它更加安全,因为它的使用受到更严格的限制,只能用于特定的操作。

使用个人访问令牌的好处是显而易见的:它可以有效地保护你的GitHub账户免受未经授权的访问。而且,个人访问令牌的生成和管理非常简单,你可以在GitHub的设置中轻松创建和获取它们。一旦你生成了个人访问令牌,你可以将其配置到你的终端,使得每次进行代码推送时都能得到正确的身份验证。

虽然这次改变可能需要我们稍微调整一下我们的工作流程,但它带来的好处是无可比拟的。使用个人访问令牌,我们可以确保我们的代码仓库得到充分的保护,同时也为我们的开发过程提供了更加便捷和安全的体验。

就是这样!在接下来的文章中,我们将探讨如何生成和配置个人访问令牌,以及如何在GitHub上进行SSH免密登录。我们将提供详细的步骤和指导,确保你能够顺利地适应这个新的身份认证方式。

希望这些信息能对你有所帮助,并让你更加了解GitHub身份认证的最新变化。继续阅读,让我们一起探索这个新的安全世界吧!

配置SSH key

  1. 进入当前用户的home目录,打开终端后直接输入以下命令(mac电脑打开终端后就是home目录,直接输入一下命令即可查看)

    cd .ssh # 进入到.ssh 文件目录下
    ls -l			# 查看当前目录下有哪些文件
    

    升级你的GitHub终端认证方式:从密码到令牌_第1张图片

  2. 删除已经存在的.ssh目录

    rm -r .ssh/ 	# 删除已经存在的.ssh目录
    

    这里不执行这一步也可以,因为即使.ssh目录下有相关文件,最后在生成密钥的时候会询问是否重写其中的内容,点击确认即可。

  3. 运行命令生成.ssh 密钥目录

    ssh-keygen -t rsa -C "[email protected]" #建议填写当时创建 GitHub 账号时使用的邮箱
    

    一直enter确认就好了,完成后在ssh文件夹会生成一个公钥 id_rsa.pub 和一个私钥 id_rsa,我们只用公钥里的内容就行这里可能会让你填写密码或者其他信息,一律按住回车键即可。此时显示已经重写了id_ras文件,接下来执行一下命令:

     cd .ssh # 进入到.ssh 文件目录下
     ls -l # 查看当前文件夹下的所有文件
     vim id_rsa.pub # 进入该文件中,并复制其中内容-----> 拷贝公钥
    

    ⚠️:win电脑需要开启隐藏文件夹设置才能看见.ssh文件

    升级你的GitHub终端认证方式:从密码到令牌_第2张图片

登录 GitHub

  1. 登录 GitHub,点击用户头像 -> Settings -> SSH and GPG keys。点击 New SSH key 创建新的 Secure Shell Key.

    升级你的GitHub终端认证方式:从密码到令牌_第3张图片

  2. 复制id_rsa.pub文件中的内容到 key

    升级你的GitHub终端认证方式:从密码到令牌_第4张图片

    Title 没要求的话随便起就行,最好是备注一下哪个设备设置了SSH key,之后 Add SSH key 输入密码确认即可.

    完成上述操作后,在终端再次进行push等操作时github会直接跳过登录身份验证,直接连接到github服务器进行操作.

测试

接下来在终端输入敲入:

 ssh -T [email protected]

升级你的GitHub终端认证方式:从密码到令牌_第5张图片

看到这个就表示连接成功了,新添加到github上的秘钥左边的点一开始是灰色的,终端执行这个命令后,刷新网页会看到灰色点变成了绿色。到此为止本地的ssh key已经配置好了

你可能感兴趣的:(github)