git配置多个ssh key

一般,一台电脑可能会配置多个git账号

  • 个人的github账号
  • 公司的gitlab账号
    这样,就需要生成不同的ssh key,让我们以不同的身份操作不同的仓库。

那么,一台电脑怎么配置多个ssh key呢?
我们可以对不同的git账号依次生成ssh key,然后创建~/.ssh/config进行管理。

一、 为不同的git账号生成ssh key

1.1 为第1个git账号生成ssh key

1.设置GitHub的username和email
git config --global user.name “Git账号即username”
git config --global user.email “Git邮箱”


2.生成一个新的SSH密钥
ssh-keygen -t rsa -C “Git邮箱”


3.查看~/.ssh目录下,已经生成id_rsa id_rsa.pub文件
~/.ssh
id_rsa id_rsa.pub
其中id_rsa为私钥配置到本地,id_rsa.pub为公钥配置到github上

1.2 为第2个git账号生成ssh key

ssh-keygen -t rsa -C “git邮箱”
注意这里不要一路回车,在提示存放文件名时,手动输入文件名,避免文件被覆盖
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Gary/.ssh/id_rsa): /c/Users/Elon/.ssh/id_rsa_gitlab
<剩下两个直接回车>

再查看~/.ssh路径下,新生成一个秘钥
id_rsa
id_ras.pub
id_rsa_gitlab
id_rsa_gitlab.pub

在一台电脑上,为更多git账号生成ssh key,重复1.2即可。

二、配置私钥和公钥

eval $(ssh-agent -s) //在后台启动 ssh-agent
ssh-add /c/Users/Elon/.ssh/id_rsa //将SSH私钥添加到 ssh-agent
ssh-add /c/Users/Elon/.ssh/id_rsa_gitlab //将SSH私钥添加到 ssh-agent

公钥分别配置到github和gitlab中。

三、配置config文件

在~/.ssh目录下,创建名为config的文件。

vim ~/.ssh/config

添加如下内容

Host github.com
HostName github.com
User 在github注册的username
IdentityFile ~/.ssh/id_rsa

Host gitlab  #填写git服务器的域名
HostName gitlab
User 在gitlab注册的username
IdentityFile ~/.ssh/id_rsa_gitlab

Host和HostName填写git服务器的域名
IdentityFile为私钥的路径
注意:多个Host公用一个公钥时, 对应的HostName和Port必须跟在Host后面

如果在Linux系统下提示错误:Bad owner or permissions on /home/gary/.ssh/config,说明config权限过大,chmod命令调整权限:

chmod 644 ~/.ssh/config


四、验证配置是否成功

ssh -T git@github.com
ssh -T gitlab域名

如果没有成功,可以加v查看输出编译信息,根据编译信息查找问题。

ssh -vT gitlab域名

到这里,多个ssh key就配置成功了。


五、关于用户名

如果之前有设置全局用户名和邮箱的话,需要unset一下
比如文章里1.1中的第1步,就设置了个人的github账号为全局的,

git config --global --unset user.name
git config --global --unset user.email

然后在不同的仓库下设置局部的用户名和邮箱

比如在公司的repository下

git config user.name “yourname”
git config user.email “youremail”

同样,在自己的github的仓库下,将上面命令中的name和email换成github的,再执行下。

这样就可以在不同的仓库,用不同的账号登录啦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值