【Git】GitHub 的两种 URL 及其身份验证

【Git】GitHub 的两种 URL 及其身份验证

  • 1 远程仓库 URL
    • 1.1 HTTPS URL
    • 2.2 SSH URL
  • 2 身份验证
    • 2.1 HTTPS
      • 2.1.1 管理个人访问令牌
    • 2.2 SSH 密钥对


1 远程仓库 URL

参考官方文档: Link

远程 URL 是 Git 一种指示“代码存储位置”的绝佳方式。用户只能推送到两类 URL 地址:

  • HTTPS URL,如 https://github.com/user/repo.git
  • SSH URL,如 [email protected]:user/repo.git(推荐使用)

1.1 HTTPS URL

HTTPS URL 在所有存储库上都可用,在命令行上使用 HTTPS URL 对远程仓库执行 git clone、git fetch、git pull 或 git push 时,Git 将要求你提供 GitHub 用户名和密码。

2.2 SSH URL

SSH URL 通过 SSH(一种安全协议)提供 Git 仓库的访问权限。 若要使用这个 URL,必须在PC上生成 SSH 密钥对,并将“公共”密钥添加到你的 GitHub 帐户中。

如果不在GiHub 账户中添加公钥,则会在 git clone 的时候输出下面的报错信息。
【Git】GitHub 的两种 URL 及其身份验证_第1张图片


2 身份验证

参考官方文档: Link

Windows 和 Linux 以下内容同理,且 Linux 无需使用 Git Bash

2.1 HTTPS

有三种身份验证方式:

  • 选择通过浏览器(browser)或者利用验证码(code)进行身份验证(无需配置,推荐)
  • 选择使用个人访问令牌(token)进行身份验证

2.1.1 管理个人访问令牌

参考官方文档: Link

具体配置参考上述文档,很少用到就不搞了。

2.2 SSH 密钥对

参考官方文档: Link

  1. 在生成新的 SSH 密钥之前,检查本地计算机是否存在现有密钥
  • 打开 Git Bash
  • 输入 ls -al ~/.ssh

检查目录列表以查看是否已经有 SSH 公钥。

默认情况下,GitHub 的一个支持的公钥的文件名是以下之一: id_rsa.pub、id_ecdsa.pub、id_ed25519.pub

  1. 如果没有现有的 SSH 密钥对,则创建新的 SSH 密钥对
  • 打开 Git Bash
  • 替换为自己的 GitHub 电子邮件地址,这将以提供的电子邮件地址为标签创建新的 SSH 密钥
ssh-keygen -t ed25519 -C "[email protected]"
  • 按三次 Enter 键,接受默认文件位置,不设置密钥密码
    在这里插入图片描述
  • 可以在这里 C:\Users\{username}\.ssh 找到生成的私钥和公钥(pub文件)
    在这里插入图片描述
  1. 将 SSH 私钥添加到 ssh-agent
  • 打开 Git Bash
  • 确保 ssh-agent 正在运行
eval "$(ssh-agent -s)"
  • 将 SSH 私钥添加到 ssh-agent
ssh-add ~/.ssh/id_ed25519

【Git】GitHub 的两种 URL 及其身份验证_第2张图片

  1. 将 SSH 公钥添加到 GitHub 上的帐户
  • 复制 SSH 公钥
cat ~/.ssh/id_ed25519.pub
  • GitHub 的 Setting 中找到 SSH and GPG keys,点击 New SSH key
    【Git】GitHub 的两种 URL 及其身份验证_第3张图片
  • Title 随便起个名字,Key中填刚刚复制的公钥内容
    【Git】GitHub 的两种 URL 及其身份验证_第4张图片
  1. 验证是否成功
ssh -T [email protected]

如果打印如下信息,即成功:
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.

你可能感兴趣的:(Git,git,github)