从零开始建个小站 - 配置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
签名规则密钥即可:
# 生成密钥对,一路回车默认即可
# 如已有其他密钥对在用,自己改下生成的文件名以防覆盖
ssh-keygen -t ed25519 -C "Your_Email"
如果您使用的是不支持 ed25519
算法的旧系统,请使用:
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
,其中:
~/.ssh/id_ed25519 //私钥,保存在本地
~/.ssh/id_ed25519.pub //公钥,配置到异端
到此,本地Git环境已准备妥当,下一步将公钥配置到GitHub中就能使用了。
配置密钥
为了使用方便,给GitHub添加一个用户密钥,一个密钥可作用于整个账号的增删改查操作。
-
将 SSH 公钥内容复制到剪贴板「假设都按前面的默认操作」
Windows>打开
Git Bash
,复制粘贴如下命令clip < ~/.ssh/id_ed25519.pub //该命令自动将公钥存到剪贴板,直接用文本编辑器打开公钥再复制也是一样的
macOS/Linux
打开 Terminal(终端),复制粘贴如下命令:
cat ~/.ssh/id_ed25519.pub // 执行完将打印出来的公钥内容完整复制待用
-
登录GitHub账号后,在任何页面的右上角,单击右上角个人资料照片,然后单击弹出下拉中的
Settings(设置)
-
选择左侧
Access
》 点击SSH and GPG keys
,点击New SSH key(新 SSH 密钥)
-
在
Title
(标题)字段中,为新密钥添加描述性标签便于识别用途。 例如,如果您使用在个人Mac上,此密钥名称可能是Personal MacBook
。 -
将前面复制的公钥串粘贴到
Key
(密钥)字段 -
最后点击
Add SSH key(添加 SSH 密钥)
完成添加