有时候我们可能需要在同一台电脑上配置多个 SSH Key
,比如公司项目使用的是 GitHub
,个人开发用的是码云 Gitee
。这个时候我们可能需要有两个 SSH Key
, 主要解决思路是生成 ssh
密钥的时候设置不同的文件名区分,本教程基于 windows 环境。
# 1. 使用指令生成 github
的 key,一路回车就可以在用户目录下生成 .ssh/id_rsa.pub
,因为我之前生成过一次,所以有 overwrite 的选择。
$ ssh-keygen -t rsa -C "你的git邮箱地址" |
完成即可看到如下图的 log:
# 2. 用命令 cat ~/.ssh/id_rsa.pub
查看已经生成的 SSH Key
, 或者直接找到文件用记事本打开,然后复制生成的 key:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDu1rEPqhq+kdFl4QSAeFZC9fo+U1r14c6Uh2ftv6lt4glLnF+NCXhhvsdAVq23ddqGnMLwYxdGLW1SUDT72QqCPtHkJpYYs 2nfLXkS9E1wFtHDyzLstcUnuuhmuklSFdIZ09dv+uCjZnlSdxD+SX6XbWGqlBAynMzGee92zcF3U/ycveGJSgMTqf3TLFV8nxgzJ3nEvhV0oCGr+rqUsbG7VeG/KiI1r/GrCRqsQMDcfux5OEQnbSSlvLUJYG/qE3QdNlQobmG9yM7Mr6UiezPUkkT8+ODiCqDWB/fXw6AI5FKuGLFRlfGpY5E3U12IhasH3tTJ1upV8N/goEwlC36np/8k2EFLWneTxBKJ19mX1b8FnK1oVRQxU1DL+NPTBshVrxevr5BhvJTsYZEzYMwgczxWzNRjAl29xuqKE2s3PGXv3YbtHnHPI34+XUe8oJLyz4yHewHQ4iv6eocO3EpVqMVI895q3xslBAchGDEfwt3Sz1j5fJgSPxqcjE+ngCU= xxxxxxxxxxxx@qq.com
# 打开
github
设置界面,选择SSH and GPG keys
,右侧点击如图所示按钮new ssh key
,将复制的 key 粘贴到对话框即可,title 随便填个标识符# 设置成功,就可以在页面看到已经添加的 key。
# 接下来设置
gitee
的ssh key
,在命令行输入指令:$ ssh-keygen -t rsa -C '你的gitee邮箱' -f ~/.ssh/[gitee_id_rsa]
和之前一样,一路按回车
下面报错,表示权限不够,使用
git bash
重新执行命令。(git bash
百度安装)$ Saving key "~/.ssh/gitee_id_rsa" failed: No such file or directory
# 打开生成的
gitee_id_rsa.pub
文件,复制密钥。# 打开
gitee
个人设置界面,选择 SSH 公钥,将 key 填入右侧的对话框,点击确定即可。# 在
/.ssh
文件夹下打开gitbash
,创建config
文件$ touch config
# 使用记事本打开,添加如下信息到
config
文件并保存,Host
和HostName
: git 服务器的域名,IdentityFile
: 私钥的路径。 前面加# , 表示注释
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# 使用以下命令分别测试
GitHub
和Gitee
,查看SSH Key
是否添加成功。ssh -T git@gitee.com
ssh -T git@github.com
# 返回如下信息,表示配置成功,可以拉取,推送代码了。