很多情况下,大家都会遇到一个问题,自己电脑上配置的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可以根据自己的需要设置。
(3)输入cat id_rsa.pub获取公钥或者到本地公钥保存的文件中获取(C:/Users/你的主机名字/.ssh/id_rsa.pub)
(4)将公钥加入到github中,选择setting->SSH KEY添加即可。如下图:
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可以根据自己的需要设置。
(3)输入cat hty.pub获取公钥或者到本地公钥保存的文件中获取 (C:/Users/你的计算机名字/.ssh/hty.pub)
(4)将公钥加入到gitlab中,如下图:
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
我的配置如图:
4. 验证是否正确
(1) 针对github,输入指令:
ssh -T git@github.com
image
或者
(2) 针对gitlab, 输入指令:
ssh -T git@gitlab
image
或者
以上结果,表示配置成功。如果失败,请仔细阅读上述步骤,或者给我留言,谢谢!
再献上我的操作流程:
github配置过程:
gitlab配置过程:
网友评论