同一主机下GitBash生成的多个ssh配置问题

一、 问题

1、工作中常常需要在一台电脑上使用多个代码托管平台,此时需要将针对不同平台生成的多个ssh私匙进行配置,否则会出现后面新生成的SSH私匙无法被使用,或覆盖之前生成的私匙等问题。
2、在此以Windows操作平台,及 githubgitee代码托管平台为例进行测试。


二、 方案

 按照GitBash的安装、配置的方式来分别生成githubgitee平台对应的公匙和私匙。主要流程如下所示:

1、首先设置姓名,邮箱,以分辨后期是谁提交改动代码

git config --global user.name "Firstname Lastname"
git config --global user.email "your_email@example.com"

2、执行生成对应平台公匙和私匙SSH Key的命令,如下:

ssh-keygen -t rsa -C "your_email@example.com"
  • 执行该命令后会提示如下的内容 ,此时要注意选择生成的目录位置及文件名,一般默认的地址及文件为:/Users/your_user_directory/.ssh/id_rsa,若不修改则第二次生成的公匙和私匙就会覆盖第一次生成的内容,导致第一次的公私和私匙无法使用。
  • 在这里插入图片描述
  • 在此将GitBash第二次生成Gitee平台的私匙和公匙修改成指定目录的内容(第一次生成的github保持默认),如下图所示,将其指定到自己新创建的目录GiteeKey中,这样能保证第二次生成的不会覆盖掉之前的。(红线部分为自己输入的路径及文件名)
  • 在这里插入图片描述

3、再将生成的各自平台上的公匙(id_rsa.pub),添加到对应平台上的SSH Key的位置保存。
4、由于主机上有两个私匙,默认的情况下远端找不到对应的私匙与其公匙进行匹配,因此需要添加对应的配置文件来进行说明,如下所示:

  • Host:为代码托管平台主机,在此为github.com
  • HostName:代码托管平台主机名,在此为github.com
  • IdentityFile与远端仓库的公匙进行配对的私匙的地址,该项最为重要,对应私匙的位置必须要正确。
  • PreferredAuthentications:优先认证方式,在此为ssh的公匙。
# 配置GitHub.com
Host github.com
	HostName github.com
	IdentityFile C:\\Users\\Xu_asus\\.ssh\\id_rsa
	PreferredAuthentications publickey
	
# 配置gitee.com
Host gitee.com
	HostName gitee.com
	IdentityFile C:\\Users\\Xu_asus\\.ssh\\GiteeKey\\id_rsa
	PreferredAuthentications publickey

5、最后通过命令行来验证各自的结果

# github 平台验证方式
ssh -T git@github.com

# gitee平台验证方式
ssh -T git@gitee.com

显示下面的结果表示设置成功
在这里插入图片描述


参考资料:
windows下同一主机多个git ssh秘钥配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值