GitHub身份验证与Git连接GitHubPages仓库
本文最后更新于 2025年5月18日 下午
1. GitHub Authentication
GitHub 支持不同的身份验证方式,供用户远程连接。(认证)
- username & password | passkey
- personal access token(个人访问令牌)
- SSH key
SSH 协议(Secure Shell Protocol,安全外壳协议)可在不安全的网络上提供安全通道。推荐使用 SSH 连接到 GitHub,实现免密登录,且相对更安全。
1.1 username & password
略。
1.2 personal access token
2021.8.13起,Github要求使用基于令牌的身份验证 - 知乎
(按链接前半部分操作即可,token 权限设置为 repo。下方可略。)
Git 连接远程仓库,转为使用 token 进行认证:
1 |
|
1.3 SSH key
按 通过 SSH 连接到 GitHub - GitHub 文档 操作即可。
- 检查本地主机是否已有 SSH 密钥
1 |
|
默认情况下,GitHub 支持的公钥的文件名有:id_rsa.pub
,id_ecdsa.pub
,id_ed25519.pub
。如果没有,则创建新的 SSH 密钥对。
- 生成新 SSH 密钥
1 |
|
该命令执行后,连按三次回车(跳过设置密钥文件路径、设置密钥密码、再次输入密钥密码),即可生成密钥对。
默认情况下,ssh-keygen
会在用户的主目录下的 .ssh/
目录中(C:\Users\用户\.ssh\
)生成密钥对。默认的文件名取决于你选择的密钥类型:id_type
(私钥)和 id_type.pub
(公钥)。
如果需要管理多个密钥,可以添加 -f
选项来覆盖默认行为,指定生成的密钥文件的路径和文件名。
Tip:建议将密钥保存在
.ssh/
目录中,确保其权限,以保护你的私钥。私钥文件通常应该只有所有者有读写权限(chmod 600
)。
- 新增 SSH 密钥到 GitHub 帐户
1 |
|
点击右上角个人资料照片 → Settings → SSH 和 GPG keys → New SSH key。
- 测试 SSH 连接
1 |
|
如果 SSH 连接成功,GitHub 会返回一个欢迎信息。
2. Git 连接 GitHub Pages 仓库
之前,基于 hexo-deployer-git 部署本地静态博客到 GitHub Pages 时,Git 采用【HTTPS+密码】的方式连接 GitHub Pages 仓库。现在,连接方式可改为【HTTPS+token】或【SSH】,推荐【SSH】。
【HTTPS+密码】
1 |
|
【HTTPS+token】
1 |
|
【SSH】
1 |
|
附录
- SSH
- 加密算法
RSA、DSA、ECDSA、EdDSA 和 Ed25519 的区别 - Librarookie - 博客园
奇妙的安全旅行之RSA算法 - 个人文章 - SegmentFault 思否
加密算法(DES,AES,RSA,ECC,MD5,SHA1)简介_des aes rsa-CSDN博客
- 本机能通过 SSH 连接 GitHub 的原因——双方都集成 SSH 客户端。
Windows 支持 OpenSSH 了! - sparkdev - 博客园