如何在使用 Git 时无需输入密码

2025-05-27

如何在使用 Git 时无需输入密码

Git 凭证管理器

你一直在命令行上使用 Git 吗?注意到每次都要输入密码吗?这不仅超级烦人,还会带来安全问题。这里有一些 Git 身份验证的方法,这样你就不用每次操作都输入密码了。这也能让你的代码更安全。

如果您使用 Git 和 GitHub,那么有几种方法可以进行身份​​验证,以确保您的代码安全。

SSH 密钥

如果您从事科技行业,您可能听说过 SSH 密钥这个术语。当您尝试在 Web 浏览器之外登录或使用云服务时,这个术语经常出现。它也是一个与从一台机器连接到另一台机器相关的术语。

SSH 或安全外壳密钥是指您在使用提供商时需要进行身份验证的密钥(或协议)。使用 SSH 协议可以大大增强网络安全性。这样一来,其他人就无法从一个系统远程登录到另一个系统。相反,我们会使用加密技术来管理您的登录信息,从而保护您的登录信息。

SSH 密钥有很多种类型。如果您使用的是 Windows,则身份验证非常简单,如下所示。如果您使用的是 macOS,则可以生成 SSH 密钥来验证您的 GitHub 帐户。查看GitHub 文档,了解如何手动生成密钥。

个人访问令牌

您不必只使用终端来生成密钥。如果您不喜欢命令行,那么您可以从 GitHub 网站生成密钥:

  1. 前往 GitHub.com
  2. 选择“设置”
  3. 向下滚动并从左侧选择“开发者设置”
  4. 从左侧选择“个人访问令牌”
  5. 创建你的代币代币

在这些设置中,您可以生成和管理令牌。

OAuth 应用程序

您还可以通过一种方法来跟踪哪些应用程序可以访问您的 GitHub 帐户:

  1. 前往 GitHub.com
  2. 选择“设置”
  3. 向下滚动到“应用程序”
  4. 点击“授权的 OAuth 应用”

现在您可以查看哪些应用程序可以访问您的 GitHub 帐户,并在必要时撤销任何权限。

OAuth

请注意,这与“开发者设置”中的 OAuth 应用不同。如果您正在创建应用程序并希望启用 GitHub 身份验证,请参阅GitHub 文档中关于创建和授权 OAuth 应用的内容

凭证管理器

除非您是 Windows 用户(👋),否则您肯定注意到每次 Git 操作都需要输入密码。在 Windows 上安装 Git 时,您的计算机上会自动安装一个凭据管理器。这意味着您只需登录一次帐户即可完成身份验证。

我们也可以在 macOS 和 Linux 上复制此方法。使用客户端管理器(例如Git Credential Manager Core (GCM Core))是在 macOS 和 Linux 上进行单因素身份验证的一种方法。Linux 版本仍处于预览阶段,但您现在就可以试用。

GitHub 徽标 git 生态系统/ git 凭证管理器

安全、跨平台的 Git 凭证存储,可对 GitHub、Azure Repos 和其他流行的 Git 托管服务进行身份验证。

Git 凭证管理器

构建状态


Git Credential Manager (GCM) 是一个基于 .NET构建的安全Git 凭据助手,可在 Windows、macOS 和 Linux 上运行。它旨在为每个主流源代码控制托管服务和平台提供一致且安全的身份验证体验,包括多因素身份验证。

GCM 支持(按字母顺序)Azure DevOps、 Azure DevOps Server (以前称为 Team Foundation Server)、 Bitbucket 、 GitHub 和 GitLab 与 Git 的内置凭据帮助程序(Windows: wincred 、 macOS: osxkeychain 、 Linux: gnome-keyring/libsecret ) 相比,它们仅为用户名/密码提供单因素身份验证支持。

GCM 取代了基于 .NET Framework 的Windows 版 Git Credential Manager以及基于 Java的 Mac 和 Linux 版 Git Credential Manager

安装

请参阅当前版本 GCM 的安装说明,了解适合您的操作系统的安装选项。

当前状态

Git Credential Manager 目前适用于 Windows、macOS 和 Linux*。GCM 仅适用于 HTTP(S) 远程连接;您仍然可以通过 SSH 使用 Git:

如果您想尝试 Git 命令行或网页以外的一些功能,那么有几个选择。

使用 GitHub Desktop 进行身份验证

自从几年前GitHub Desktop上线以来,这款应用就成了 GitHub 的绝佳使用方式。它不仅可以管理你的仓库,还能用来验证身份、管理你的账户。

下载 GitHub Desktop 并登录您的帐户。这将打开一个浏览器窗口,以便您进行身份验证。此外,它还支持明暗模式!

桌面缩放

类似地,您还可以验证各种应用程序,例如VS CodeAtom等编辑器,或其他 Git 客户端(例如Git Kraken)。别忘了,您可以进入 OAuth 设置查看哪些应用程序已授予 GitHub 访问权限。

GitHub 命令行

是的,它仍然是命令行,但 GitHub 有自己的 CLI。您可以下载它,然后使用gh auth login并按照步骤操作。这将允许访问您的 GitHub 帐户,您可以继续正常使用命令行。您甚至可以使用它gh auth login --with-token来使用个人令牌。

v1

该 CLI 可在 Windows、macOS 和 Linux 上使用。它完全免费且开源,因此您甚至可以为其做出贡献。

使用物理安全密钥

最近,像YubiKey这样的实体安全钥匙非常流行。它们非常安全,而且无法复制。

YubiKey

YubiKeys 也很容易设置为 2FA:

  1. 前往 GitHub.com
  2. 点击“账户安全”
  3. 向下滚动到“安全密钥”并点击“编辑”
  4. 选择“注册新的安全密钥”并按照提示操作

如果您决定设置安全密钥,则需要将恢复代码保存在安全的位置。如果您的帐户启用了双重身份验证 (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
PREV
如何在 Codespaces 中运行前端研讨会 修复损坏的时钟 - Codespace 研讨会
NEXT
无需离开 IDE 即可部署您的第一个网站