从零开始建个小站 - 配置SSH密钥
相对于前文提到的 GitHub设置 - Personal access token,使用 SSH 密钥是另一种更安全的方式。
生成SSH密钥
2021年8月14号开始,GitHub弃用账密验证Git操作,改用token或SSH密钥
GitHub 在 2022 年 3 月 15 日通过删除较旧的不安全密钥类型提高了安全性,不再支持 DSA 密钥 (ssh-dss
)。
在 2021 年 11 月 2 日之前 valid_after
的 RSA 密钥 (ssh-rsa
) 可以继续使用任何签名算法。 在该日期之后生成的 RSA 密钥必须使用 SHA-2 签名算法。 某些较旧的客户端可能需要升级才能使用 SHA-2 签名。
当前就相当于强制用户使用超长随机串密码,安全加强是好事,遵循规则使用 SHA-2
签名规则密钥即可:
1 | # 生成密钥对,一路回车默认即可 |
如果您使用的是不支持 ed25519
算法的旧系统,请使用:
1 | ssh-keygen -t rsa -b 4096 -C "Your_Email" |
更多密钥相关详细信息可参阅 [GitHub官方文档][new-SSH-key]
如果你是一路回车生成密钥对,那么生成的密钥对会保存在:~/.ssh/
目录下,~
表示用户目录,如操作系统登录用户名是 xyz
,那么在Windows下路径则为 C:\Users\xyz\.ssh
,macOS/Linux下路径为 /home/xyz/.ssh
,其中:
1 | ~/.ssh/id_ed25519 //私钥,保存在本地 |
到此,本地Git环境已准备妥当,下一步将公钥配置到GitHub中就能使用了。
配置密钥
为了使用方便,给GitHub添加一个用户密钥,一个密钥可作用于整个账号的增删改查操作。
将 SSH 公钥内容复制到剪贴板「假设都按前面的默认操作」
Windows
打开
Git Bash
,复制粘贴如下命令1
2clip < ~/.ssh/id_ed25519.pub
//该命令自动将公钥存到剪贴板,直接用文本编辑器打开公钥再复制也是一样的macOS/Linux
打开 Terminal(终端),复制粘贴如下命令:
1
2cat ~/.ssh/id_ed25519.pub
// 执行完将打印出来的公钥内容完整复制待用登录GitHub账号后,在任何页面的右上角,单击右上角个人资料照片,然后单击弹出下拉中的
Settings(设置)
选择左侧
Access
》 点击SSH and GPG keys
,点击New SSH key(新 SSH 密钥)
在
Title
(标题)字段中,为新密钥添加描述性标签便于识别用途。 例如,如果您使用在个人Mac上,此密钥名称可能是Personal MacBook
。将前面复制的公钥串粘贴到
Key
(密钥)字段最后点击
Add SSH key(添加 SSH 密钥)
完成添加