如何使用 SSH key 连接 GitHub
如果需要频繁的进行 GitHub pull/push 操作,使用 SSH key 绑定到 GitHub 会更加方便,绑定后将使用公钥加密来验证用户身份,比传统的用户名和密码方式更安全。
本文命令与截图对应下面的系统版本,需要先安装 Git
- Windows 11 : 一般安装
64-bit Git for Windows Setup
, 安装选项全部默认即可 - macOS 15.1 : 更推荐通过安装 Homebrew 获取 Git 程序,查看 如何在 macOS 中安装 Homebrew
打开终端程序
Windows
- 右键点击开始菜单,选择终端
- 或是按
Windows + R
快捷键打开 运行 窗口,输入cmd
,回车打开
macOS
- 启动台 > 其他 > 终端
- 启动台 或是
Commond⌘ + 空格
打开聚焦搜索,搜索 终端 或是 Terminal
安装 Git 后,使用 git -v
测试,如果安装成功会显示版本号
1 | > git -v |
然后设置 Git 的个人信息
1 | git config --global user.name "yourname" |
测试一下 github.com
Windows 10 用户可以使用 Git Bash
测试时会自动创建 .ssh
文件夹,因此你也需要测试一下
打开终端程序,运行测试命令,如果是第一次运行,需要输入 yes
确认
1 | ssh -T [email protected] |
我们没有添加过 SSH key,会提示 Permission denied (publickey).
创建 SSH Key
1 | cd .ssh |
1 | C:\Users\ME\.ssh>ssh-keygen -t rsa |
.pub
后缀的是公钥,可以公开,私钥相当于个人密码,要小心保存
git 默认会查找名称为 id_rsa
的 SSH key
如果设置了文件名称,或是生成其他格式的 SSH key 可以查看后文的配合 SSH config
的部分
rsa 格式的 key 内容很长,使用 ssh-keygen -t ed25519
生成 ed25519
格式的 key,更简洁,更安全
添加公钥到 GitHub
使用命令或是文本编辑器查看公钥的内容
- Windows 使用
type id_rsa.pub
- macOS / Linux 使用
cat id_rsa.pub
访问 Github - SSH Keys,点击右上角 New SSH key。
手动访问路径:右上角点击 头像 > Settings > SSH and GPG keys > New SSH key
- Title:取个备注名字
- Key type:不需要修改,保持默认 Authentication Key
- Key:粘贴
id_rsa.pub
对应的文本内容 - 点击
Add SSH key
保存
添加成功会在列表显示
此时我们再执行测试命令,就会获得成功的欢迎提示。
1 | >ssh -T [email protected] |
配合 SSH config 使用
如果我们的私钥的名称不是 id_rsa
,我们将仍然无法成功连接 GitHub ,你可以将私钥修改文件名后再试试
1 | > rename id_rsa id_mysshkey |
1 | > mv id_rsa id_mysshkey |
这时我们可以通过在 .ssh
文件夹中创建一个 config
文件,填入下面的内容来告诉 git 程序在哪里找到密钥
1 | Host github.com |
其中 IdentityFile
部分填写私钥的路径, ~
代表用户 Home 目录
- Windows 相当于
C:\Users\<username>\
- macOS 相当于
/Users/<username>/
- Linux 相当于
/root/
或是/home/<username>/
再进行测试,发现又能显示成功的欢迎消息。
1 | >ssh -T [email protected] |
以后就可以很方便的使用 Git 了!