codecamp

关于向 GitHub 验证

您可以根据身份验证位置使用不同的凭据,向 GitHub 验证来安全地访问帐户的资源。

关于 GitHub 向验证身份

为确保帐户安全,必须先进行身份验证,然后才能访问 GitHub。 向 GitHub 验证时,您提供或确认您唯一的凭据,以证明您就是声明者。

您可以通过多种方式访问 GitHub 中的资源:浏览器中、通过 GitHub Desktop 或其他桌面应用程序、使用 API 或通过命令行。 每种访问 GitHub 的方式都支持不同的身份验证模式。

  • 用于双重身份验证的用户名和密码
  • 个人访问令牌
  • SSH 密钥

在浏览器中进行身份验证

您可以在浏览器中以不同方式向 GitHub 验证。

  • 仅用户名和密码
    • 在 GitHub 上创建用户帐户时,您将创建一个密码。 我们建议您使用密码管理器生成随机且唯一的密码。 更多信息请参阅“创建强式密码”。
  • 双重身份验证 (2FA)(推荐)
    • 如果您启用 2FA,我们还将提示您提供应用程序在移动设备上生成的代码,或在您成功输入用户名和密码后以短信 (SMS) 方式发送的代码。 更多信息请参阅“使用双重身份验证访问 GitHub”。
    • 除了使用移动应用程序或短信进行身份验证外,您还可以选择使用 WebAuthn 添加采用安全密钥的辅助身份验证方法。 更多信息请参阅“使用安全密钥配置双重身份验证”。

向 GitHub Desktop 验证身份

您可以使用浏览器向 GitHub Desktop 验证身份。 更多信息请参阅“向 GitHub 验证”。

使用 API 验证身份

您可以使用 GitHub API 以不同方式进行身份验证。

  • 个人访问令牌
    • 在有限的情况(如测试)下可以使用个人访问令牌访问 API。 使用个人访问令牌可让您随时撤销访问。 更多信息请参阅“创建个人访问令牌”。
  • Web 应用程序流程
    • 对于生产中的 OAuth 应用程序,应使用 Web 应用程序流程进行身份验证。 更多信息请参阅“授权 OAuth 应用程序”。
  • GitHub 应用程序

使用命令行进行身份验证

您可以通过两种方式从命令行访问 GitHub 上的仓库:HTTPS 和 SSH ,两者采用不同的身份验证。 验证方法取决于克隆仓库时您是选择 HTTPS 还是 SSH 远程 URL。 有关使用哪种访问方式的更多信息,请参阅“我应该使用哪个远程 URL?

  • 即使您在防火墙或代理后面,也可以通过 HTTPS 处理 GitHub 上的所有仓库。 除非您使用凭据小助手缓存了凭据,否则每次使用 Git 向 GitHub 验证时,系统都会提示您输入凭据以向 GitHub 验证。不建议使用基于密码的Git身份验证,我们建议您在提示输入密码时使用个人访问令牌(PAT),这样更加安全。 像对待密码一样对待令牌。更多信息请参阅“创建个人访问令牌”。
  • 您可以通过 SSH 处理 GitHub 上的所有仓库,尽管防火墙和代理可能拒绝允许 SSH 连接。 使用 SSH 需要在本地计算机上生成 SSH 公钥/私密对,并将公钥添加到 GitHub 帐户。 除非您已存储密钥,否则每次使用 Git 向 GitHub 验证时,系统都会提示您输入 SSH 密钥密码短语。 更多信息请参阅“生成新的 SSH 密钥并添加到 ssh-agent”。

要使用个人访问令牌或 SSH 密钥访问由使用 SAML 单点登录的组织所拥有的资源,还必须授权个人令牌或 SSH 密钥。 更多信息请参阅“授权个人访问令牌用于 SAML 单点登录”或“授权 SSH 密钥用于 SAML 单点登录”。

GitHub 身份验证
GitHub 创建强密码
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }