Git 配置多个SSH Key
参考资料
背景
同时使用两个Gitee账号,需要为两个账号配置不同的SSH Key
解决方法
-
生成帐号 A 的 SSH Key,并在帐号 A 的 Gitee 设置页面添加 SSH 公钥:
ssh-keygen -t ed25519 -C "Gitee User A" -f ~/.ssh/gitee_user_a_ed25519
-
生成帐号 B 的 SSH-Key,并在帐号 B 的 Gitee 设置页面添加 SSH 公钥:
ssh-keygen -t ed25519 -C "Gitee User B" -f ~/.ssh/gitee_user_b_ed25519
-
创建或者修改文件
~/.ssh/config
,添加如下内容:IdentityFile:填写绝对路径
Host gt_a User xxx Hostname gitee.com Port 22 IdentityFile ~/.ssh/gitee_user_a_ed25519 Host gt_b User xxx Hostname gitee.com Port 22 IdentityFile ~/.ssh/gitee_user_b_ed25519
-
用 ssh 命令分别测试两个 SSH Key:
$ ssh -T gt_a $ ssh -T gt_b
-
拉取代码:
将
git@gitee.com
替换为 SSH 配置文件中对应的Host
,如原仓库 SSH 链接为:git@gitee.com:owner/repo.git
使用帐号 A 推拉仓库时,需要将连接修改为:
gt_a:owner/repo.git