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

1 远程仓库 URL1.1 HTTPS URL2.2 SSH URL

2 身份验证2.1 HTTPS2.1.1 管理个人访问令牌

2.2 SSH 密钥对

1 远程仓库 URL

参考官方文档: Link

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

HTTPS URL,如 https://github.com/user/repo.gitSSH URL,如 git@github.com: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 的时候输出下面的报错信息。

2 身份验证

参考官方文档: Link

Windows 和 Linux 以下内容同理

2.1 HTTPS

有三种身份验证方式:

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

2.1.1 管理个人访问令牌

参考官方文档: Link

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

2.2 SSH 密钥对

参考官方文档: Link

在生成新的 SSH 密钥之前,检查本地计算机是否存在现有密钥

打开 Git Bash输入 ls -al ~/.ssh

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

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

如果没有现有的 SSH 密钥对,则创建新的 SSH 密钥对

打开 Git Bash替换为自己的 GitHub 电子邮件地址,这将以提供的电子邮件地址为标签创建新的 SSH 密钥

ssh-keygen -t ed25519 -C "your_email@example.com"

按三次 Enter 键,接受默认文件位置,不设置密钥密码 可以在这里 C:\Users\{username}\.ssh 找到生成的私钥和公钥(pub文件)

将 SSH 私钥添加到 ssh-agent

打开 Git Bash确保 ssh-agent 正在运行

eval "$(ssh-agent -s)"

将 SSH 私钥添加到 ssh-agent

ssh-add ~/.ssh/id_ed25519

将 SSH 公钥添加到 GitHub 上的帐户

复制 SSH 公钥

cat ~/.ssh/id_ed25519.pub

GitHub 的 Setting 中找到 SSH and GPG keys,点击 New SSH key Title 随便起个名字,Key中填刚刚复制的公钥内容

验证是否成功

ssh -T git@github.com

如果打印如下信息,即成功:Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.如果出现连接超时: ssh: connect to host github.com port 22: Connection timed out,则通过 HTTPS 端口使用 SSH

官方文档: Link

在 .ssh/config 文件中加入以下内容:

Host github.com

Hostname ssh.github.com

Port 443

User git

精彩链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: