使用的 git 版本
git version 2.32.0
在 ~/.ssh(没有可以自己创建) 目录下新建一个 config 文件,添加如下内容,这里分别创建 github 和 gitlab 网站下的 SSH keys
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey # 采用 publickey 验证 windows不需要,删掉或注释
UseKeychain yes # 使用钥匙串,默认 no, windows 不需要,删掉或注释
AddKeysToAgent yes # 是否添加到钥匙串 windows不需要,删掉或注释
IdentityFile ~/.ssh/gitlab_id_rsa # 私匙文件地址
# github
Host github.com
HostName github.com
PreferredAuthentications publickey # windows不需要,删掉或注释
UseKeychain yes # windows不需要,删掉或注释
AddKeysToAgent yes # 是否添加到钥匙串 windows不需要,删掉或注释
IdentityFile ~/.ssh/github_id_rsa
也可以所有网站共用一个
Host *
PreferredAuthentications publickey
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
创建 SSH keys
生成一个 github 用的 SSH key
ssh-keygen -t rsa -C 'xxxxx@xx.com' -f ~/.ssh/github_id_rsa
生成一个 gitlab 用的 SSH key
ssh-keygen -t rsa -C 'xxxxx@xx.com' -f ~/.ssh/gitlab_id_rsa
windows 下使用绝对路径
ssh-keygen -t rsa -C 'xxxxx@xx.com' -f C:/Users/[系统用户名]/.ssh/github_id_rsa
ssh-keygen -t rsa -C 'xxxxx@xx.com' -f C:/Users/[系统用户名]/.ssh/gitlab_id_rsa
查看 publicKey
mac
cat ~/.ssh/gitlab_id_rsa.pub
cat ~/.ssh/github_id_rsa.pub
windows
type ~/.ssh/gitlab_id_rsa.pub
type ~/.ssh/github_id_rsa.pub
将公匙添加到 github 和 gitlab 的设置中,分别测试
ssh -T git@gitlab.com
ssh -T git@github.com