github账号与gitlab同一电脑下不同SSH Key配置

很多情况下,大家都会遇到一个问题,自己电脑上配置的SSH Key可以与自己的gitbub账号匹配,却不能匹配公司内部的git服务器账号,即gitlab。下面我将讲述这两种账号的配置过程:

1. github账号SSH Key配置

(1) 设置git的名字和邮箱,这点很重要,尤其是对于gitlab的配置

  git config --global user.name "你github的用户名"
  git config --global user.email "你github的邮箱"
或者强制修改用户名和邮箱
 git config --global --replace-all user.name "你github的用户名"
  git config --global --replace-all user.email "你github的邮箱"

(2) 生成SSH Key

ssh-keygen -t rsa -C "你的github账号对应的邮箱"

可以看到结果如下,选择默认,passphrase可以根据自己的需要设置。


github账号与gitlab同一电脑下不同SSH Key配置_第1张图片

(3)输入cat id_rsa.pub获取公钥或者到本地公钥保存的文件中获取(C:/Users/你的主机名字/.ssh/id_rsa.pub)


(4)将公钥加入到github中,选择setting->SSH KEY添加即可。如下图:


github账号与gitlab同一电脑下不同SSH Key配置_第2张图片
image

记住,这里的pub文件(公钥)叫做id_rsa.pub

2. 配置gitlab 用户名和邮箱

(1) 设置git的名字和邮箱,这点很重要,尤其是对于gitlab的配置

  git config --global user.name "你gitlab的用户名"
  git config --global user.email "你gitlab的邮箱"

(2) 生成SSH Key,方法和上面类似

ssh-keygen -t rsa -C "GitLib" -b 4096

可以看到结果如下,选择默认,passphrase可以根据自己的需要设置。


github账号与gitlab同一电脑下不同SSH Key配置_第3张图片

(3)输入cat hty.pub获取公钥或者到本地公钥保存的文件中获取 (C:/Users/你的计算机名字/.ssh/hty.pub)


(4)将公钥加入到gitlab中,如下图:


github账号与gitlab同一电脑下不同SSH Key配置_第4张图片
1547018587(1).jpg

这里取名为hty.pub。

3. 配置两种不同的SSH key

(1)首先需要将密钥添加到SSH agent中,因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:

ssh-add ~/.ssh/hty

(2)如果出现Could not open a connection to your authentication agent的错误,就试着用以下命令:

ssh-agent bash
ssh-add ~/.ssh/hty

(3)找到.ssh的默认目录,一般在C:\Users\Administrator目录下,将git bash的工作目录切换到该目录,如下:

cd C:\Users\Administrator\.ssh

(4)创建config文件,内容如下:

Host github.com  
    HostName github.com  
    PreferredAuthentications publickey  
    IdentityFile ~/.ssh/id_rsa  

Host gitlab  
    HostName 你的gitlab项目域名 
    PreferredAuthentications publickey  
    IdentityFile ~/.ssh/hty  

我的配置如图:


github账号与gitlab同一电脑下不同SSH Key配置_第5张图片

4. 验证是否正确

(1) 针对github,输入指令:

ssh -T [email protected]
image

或者


(2) 针对gitlab, 输入指令:

ssh -T git@gitlab
image

或者


以上结果,表示配置成功。如果失败,请仔细阅读上述步骤,或者给我留言,谢谢!

再献上我的操作流程:
github配置过程:


github账号与gitlab同一电脑下不同SSH Key配置_第6张图片

gitlab配置过程:


github账号与gitlab同一电脑下不同SSH Key配置_第7张图片

你可能感兴趣的:(github账号与gitlab同一电脑下不同SSH Key配置)