GitHub SSH连接配置指南

Published on
Published on
/2 mins read/---

[!注意] 此指南适用于MacOS系统。

添加GitHub SSH指纹

首次使用SSH克隆仓库时会提示验证主机:

$ git clone git@github.com:username/repo.git
Cloning into 'repo'...
The authenticity of host 'github.com (ip)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXU...ARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

为避免每次手动验证,将GitHub官方指纹添加到 ~/.ssh/known_hosts 文件:

# 打开known_hosts文件
$ code ~/.ssh/known_hosts

添加以下内容:

github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=

生成SSH密钥

如果遇到 Permission denied (publickey) 错误,需要生成SSH密钥:

1. 生成密钥

ssh-keygen -t ed25519 -C "your-email@gmail.com"

输入密码短语(可选但推荐):

> Enter passphrase (empty for no passphrase): [输入密码]
> Enter same passphrase again: [再次输入]

2. 配置SSH代理

启动SSH代理:

$ eval "$(ssh-agent -s)"
> Agent pid 59566

创建配置文件:

$ touch ~/.ssh/config

添加配置内容:

Host github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

添加密钥到代理:

$ ssh-add --apple-use-keychain ~/.ssh/id_ed25519

3. 添加公钥到GitHub

复制公钥:

$ pbcopy < ~/.ssh/id_ed25519.pub

在GitHub的 SSH and GPG keys 页面添加新的SSH密钥。

Github SSH keys

完成!现在可以使用SSH克隆仓库了。

Happy coding!