git如何配置多个ssh key

570 阅读1分钟

创建密钥

ssh-keygen -t rsa -C youremail@xxx.com

然后会出现提示(仅供参考)

Generating public/private rsa key pair.
Enter file in which to save the key (/cygdrive/c/Users/admin/.ssh/id_rsa):

输入生成公钥 的文件名(默认为id_rsa) ,如果配置单个ssh key,按回车就可以 然后会出现下面,一般我们按两个回车就可以了

//填写密码后每次使用 SSH 方式推送代码时都会要求输入密码
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

这样公钥文件和私钥文件就已经生成了

经过上面的操作单个ssh key登录没问题,但如果要使用多个,需要重复上面操作生成多个秘钥和私钥文件。

编写config文件(已windows下码云和github为例)

# gitee
Host gitee.com  //仓库地址的域名
HostName gitee.com
PreferredAuthentications publickey
IdentityFile C:\\Users\\ASUS\\.ssh\\gitee_id_rsa  //生成公钥和密钥文件位置
User shibin
# GitHub
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile C:\\Users\\ASUS\\.ssh\\id_rsa
User shibin

最后,将公钥配置到相应的托管平台上

最后测试(已gitee为例)

ssh -T git@gitee.com

出现下面的,则表示成功了

Hi XX! You've successfully authenticated, but GITEE.COM does not provide shell access.
# mac或linux 修改权限
sudo chmod -R 700 config *id_rsa
.ssh ssh -T git@gitee.com
Hi shibin-cli! You've successfully authenticated, but GitHub does not provide shell access.

在同一个仓库托管平台配置多个账号

在github下配置多个账号

# GitHub
Host github
HostName github.com
PreferredAuthentications publickey
IdentityFile C:\\Users\\86177\\.ssh\\id_rsa
User shibin-you
# GitHub
Host cli.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile C:\\Users\\86177\\.ssh\\shibin-cli_id_rsa
User shibin

注意,第二个仓库的仓库地址需要使用cli.github.com

git remote add origin git@**cli.**github.com