同一机器配置多个git账号的ssh秘钥

背景

个人电脑因工作需要需连接公司gitlab,但是生成的ssh已经连接了GitHub,并且工作的邮箱和个人邮箱也不是一致的,此时需要对不同的平台进行不同的配置。

1.生成ssh key

打开git bash 输入以下命令

ssh-keygen -t rsa -C "github-user1@163.com"

第一个 ssh key 使用默认名字,三下回车,完成第一个默认的 ssh key。
在当前用户目录的 .ssh 目录下会生成 id_rsa 私钥文件和 id_rsa.pub 公钥文件,将 id_rsa.pub 公钥中的内容添加至 GitHub 云端中。
然后在 git bash 中输入以下命令测试该用户的 SSH 密钥是否有效:

ssh -T git@github.com

注明:该命令仅限于文件名为默认 id_rsa 的密钥

2.生成第二个ssh key

git bash 中输入以下命令,生成 gitlab的密钥,此时第二个 SSH Key 不能再使用默认的文件名id_rsa,否则会覆盖之前的密钥文件:

ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab -C "gitlab@qq.com"

同样将生成的id_rsa_gitlab.pub内容添加至gitlab云端中。
测试

ssh -T git@gitlab.com -i ~/.ssh/id_rsa_gitlab

3.配置config文件

.ssh 目录下创建一个 config 文本文件,每个账号配置一个Host节点,主要配置项说明

Host         # 主机别名
HostName     # 服务器真实地址
IdentityFile # 私钥文件路径
PreferredAuthentications # 认证方式
User         # 用户名

config 文件内容:

# ~/.ssh/config 配置多个git的ssh-key
# 第一个默认的SSH Key
Host github.com
    HostName github.com
    IdentityFile C:\\Users\\xx\\.ssh\\id_rsa
    PreferredAuthentications publickey

# 第二个SSH Key
Host gitlab.com
    HostName gitlab.com
    IdentityFile C:\\Users\\xx\\.ssh\\id_rsa_gitlab
    PreferredAuthentications publickey

4.为各自仓库配置不同的用户名和邮箱

git config --local user.name 'xx' && git config --local user.email 'xx@qq.com' 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值