Git 配置 SSH 公钥
本文最后更新于 2024年10月21日 晚上
1. 打开 Git Bash
2. 检查现存的SSH密钥
1 |
|
如果提示 No such file or directory
则表明此位置没有 SSH 密钥对,可以在下一步创建新的 SSH 密钥对。
3. 生成新的SSH密钥
How to use ssh-keygen to generate a new SSH key: https://www.ssh.com/ssh/keygen/
RSA、DSA、ECDSA、EdDSA 和 Ed25519 的区别 - Librarookie - 博客园 https://www.cnblogs.com/librarookie/p/15389876.html
1 |
|
3.1. 存储新的SSH密钥
提示 Enter file in which to save the key
(输入要保存密钥的文件)时,输入密钥文件的保存位置。(按Enter,将使用默认的文件位置C:\\Users\\you\\.ssh/id_rsa
)
- 文件的保存位置,不是文件夹(我一般新建一个文件之后覆盖)
3.2. 输入SSH密钥密码
提示Enter passphrase
时,输入SSH密钥密码。
4. 将SSH密钥添加到 ssh-agent
1 |
|
4.1. 扩展
1 |
|
5. 在 git 站点中添加公钥
拷贝公钥 .pub
文件到剪切板
1 |
|
将信息粘贴到 git 站点的 ssh 文件列表中。
5.1. SSH 公钥 管理页面直达链接
- Add new SSH keys - GitHub : https://github.com/settings/ssh/new
- 个人设置 - 阿里云 云效 : https://account-devops.aliyun.com/settings/ssh
6. 验证连接
1 |
|
当出现类似警告
1 |
|
或
1 |
|
验证警告消息中的指纹后,输入 yes
1 |
|
7. 在 Git for Windows 上自动启动 ssh-agent
参考:https://docs.github.com/cn/github/authenticating-to-github/working-with-ssh-key-passphrases
设置在打开 bash 或 Git shell 时自动运行 ssh-agent
。拷贝粘贴以下内容到 Git shell 中的 ~/.profile
或 ~/.bashrc
文件中:
~/.profile
会在用户登录时执行~/.bashrc
会在用户启动 bash shell 时执行
1 |
|
8. 【可选】Git 多账号管理
一对密钥的公钥是可以存放到多个仓库的,请根据自身需求考虑,是否需要配置多对密钥
新建或修改 ~./ssh/config
1 |
|
- Host 为仓库别名,
git@github.com
后边那串 - HostName 主机名
- IdentityFile 私钥位置
管理部署密钥 - GitHub Docs: https://docs.github.com/zh/authentication/connecting-to-github-with-ssh/managing-deploy-keys#using-multiple-repositories-on-one-server
9. 附:添加或更改密码
参考:https://docs.github.com/cn/github/authenticating-to-github/working-with-ssh-key-passphrases
1 |
|
10. Q&A
10.1. 每次 SSH 登录后,克隆或拉取仓库仍需要登录
克隆或拉取时选择 SSH 链接。
11. 参考
使用 SSH 连接到 GitHub https://docs.github.com/cn/github/authenticating-to-github/connecting-to-github-with-ssh
服务器上的 Git - 生成 SSH 公钥 https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5