macOS的话在终端里输入git
会提示安装CommandLineTools,可以参考此文:CommandLineTools重装。
windows的话要装一个Git Bash,然后参考这里操作:SSH教程。
一、检查是否已有密钥
以macOS为例:
ls -al ~/.ssh
如果返回total为0,那就要生成新密钥。
二、生成新密钥
GitHub是建议使用Ed25519算法生成密钥:
ssh-keygen -t ed25519 -C "你的邮箱"
如果你的系统不支持此算法,可以用这个:
ssh-keygen -t rsa -b 4096 -C "你的邮箱"
然后会让你选择存储的位置,一般默认就行。
再输入密码两次即可生成。
三、使用公钥
一般进行SSH操作,都是用到公钥。若要复制公钥内容,默认位置的情况下可以终端输入:
pbcopy < ~/.ssh/<公钥名称>
公钥名称一般默认有以下几种,分别对应不同的加密方式:
id_rsa.pub
id_ecdsa.pub
id_ed25519.pub
另外,建议输入以下命令,比对一下GitHub官网的SSH指纹是否正确:GitHub’s SSH key fingerprints
ssh -T git@github.com
题外话:保存密钥密码
如果不想每次git操作都输入密钥密码,可以将其添加到ssh-agent和macOS的Keychain里。 先检查ssh配置文件是否存在:
open ~/.ssh/config
如果不存在就新建并打开:
touch ~/.ssh/config
open -e ~/.ssh/config
输入一下内容:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
~/.ssh/id_ed25519
是密钥路径,可根据情况修改。最后把密钥的密码添加到Keychain:
ssh-add -K ~/.ssh/id_ed25519