如何在使用 Git 时无需输入密码
Git 凭证管理器
你一直在命令行上使用 Git 吗?注意到每次都要输入密码吗?这不仅超级烦人,还会带来安全问题。这里有一些 Git 身份验证的方法,这样你就不用每次操作都输入密码了。这也能让你的代码更安全。
如果您使用 Git 和 GitHub,那么有几种方法可以进行身份验证,以确保您的代码安全。
SSH 密钥
如果您从事科技行业,您可能听说过 SSH 密钥这个术语。当您尝试在 Web 浏览器之外登录或使用云服务时,这个术语经常出现。它也是一个与从一台机器连接到另一台机器相关的术语。
SSH 或安全外壳密钥是指您在使用提供商时需要进行身份验证的密钥(或协议)。使用 SSH 协议可以大大增强网络安全性。这样一来,其他人就无法从一个系统远程登录到另一个系统。相反,我们会使用加密技术来管理您的登录信息,从而保护您的登录信息。
SSH 密钥有很多种类型。如果您使用的是 Windows,则身份验证非常简单,如下所示。如果您使用的是 macOS,则可以生成 SSH 密钥来验证您的 GitHub 帐户。查看GitHub 文档,了解如何手动生成密钥。
个人访问令牌
您不必只使用终端来生成密钥。如果您不喜欢命令行,那么您可以从 GitHub 网站生成密钥:
- 前往 GitHub.com
- 选择“设置”
- 向下滚动并从左侧选择“开发者设置”
- 从左侧选择“个人访问令牌”
- 创建你的代币

在这些设置中,您可以生成和管理令牌。
OAuth 应用程序
您还可以通过一种方法来跟踪哪些应用程序可以访问您的 GitHub 帐户:
- 前往 GitHub.com
- 选择“设置”
- 向下滚动到“应用程序”
- 点击“授权的 OAuth 应用”
现在您可以查看哪些应用程序可以访问您的 GitHub 帐户,并在必要时撤销任何权限。

请注意,这与“开发者设置”中的 OAuth 应用不同。如果您正在创建应用程序并希望启用 GitHub 身份验证,请参阅GitHub 文档中关于创建和授权 OAuth 应用的内容。
凭证管理器
除非您是 Windows 用户(👋),否则您肯定注意到每次 Git 操作都需要输入密码。在 Windows 上安装 Git 时,您的计算机上会自动安装一个凭据管理器。这意味着您只需登录一次帐户即可完成身份验证。
我们也可以在 macOS 和 Linux 上复制此方法。使用客户端管理器(例如Git Credential Manager Core (GCM Core))是在 macOS 和 Linux 上进行单因素身份验证的一种方法。Linux 版本仍处于预览阶段,但您现在就可以试用。
安全、跨平台的 Git 凭证存储,可对 GitHub、Azure Repos 和其他流行的 Git 托管服务进行身份验证。
如果您想尝试 Git 命令行或网页以外的一些功能,那么有几个选择。
使用 GitHub Desktop 进行身份验证
自从几年前GitHub Desktop上线以来,这款应用就成了 GitHub 的绝佳使用方式。它不仅可以管理你的仓库,还能用来验证身份、管理你的账户。
下载 GitHub Desktop 并登录您的帐户。这将打开一个浏览器窗口,以便您进行身份验证。此外,它还支持明暗模式!

类似地,您还可以验证各种应用程序,例如VS Code或Atom等编辑器,或其他 Git 客户端(例如Git Kraken)。别忘了,您可以进入 OAuth 设置查看哪些应用程序已授予 GitHub 访问权限。
GitHub 命令行
是的,它仍然是命令行,但 GitHub 有自己的 CLI。您可以下载它,然后使用gh auth login
并按照步骤操作。这将允许访问您的 GitHub 帐户,您可以继续正常使用命令行。您甚至可以使用它gh auth login --with-token
来使用个人令牌。

该 CLI 可在 Windows、macOS 和 Linux 上使用。它完全免费且开源,因此您甚至可以为其做出贡献。
使用物理安全密钥
最近,像YubiKey这样的实体安全钥匙非常流行。它们非常安全,而且无法复制。

YubiKeys 也很容易设置为 2FA:
- 前往 GitHub.com
- 点击“账户安全”
- 向下滚动到“安全密钥”并点击“编辑”
- 选择“注册新的安全密钥”并按照提示操作
如果您决定设置安全密钥,则需要将恢复代码保存在安全的位置。如果您的帐户启用了双重身份验证 (2FA) 或安全密钥,那么当您丢失 YubiKey 或无法使用 2FA 时,恢复代码是访问帐户的唯一途径。最近还宣布您可以使用 YubiKey 作为 SSH 私钥。查看 YubiKey 博客,了解更多关于该公告以及如何设置 YubiKey 的信息。
YubiKey 也非常棒,因为它们可以在台式机、笔记本电脑和手机上使用。它有很多不同的类型,从 Lighting 到 USB-A、USB-C,甚至 NFC。更多关于安全密钥的信息,请参阅GitHub 文档。
提高安全性并节省时间
希望以上内容能给你一些启发,让你了解如何提升安全性,并通过避免在每个 Git 命令中都输入密码来节省时间。如果你想了解更多关于安全密钥或 SSH 密钥的信息,请查看GitHub 博客。
我很想知道大家喜欢哪种身份验证方法。请在下方留言告诉我。
文章来源:https://dev.to/github/how-to-never-type-passwords-when-using-git-18bb