1.背景

现在大多数人都采用git进行版本管理,在git下面进行开发被越来越多的程序员所接受。还有越来越多的人参与开源社区的建设。现在有一个问题就是,在windows环境下,如何在git客户端上通过ssh key的方式配置多个账号。不需要输入git的用户名和密码,使得更加方便高效。

2. SSH Key的生成

在windows上打开git的bash客户端命令行窗口:
在这里插入图片描述
之后执行ssh-keyget,生成rsa的公钥和私钥。

 ssh-keygen -t rsa -C mail@mail.com

执行结果如下:
在这里插入图片描述

生成的文件命名为 id_rsa_gitlab
私钥的密码可以不用设置,也可以根据个人情况进行设置。生成之后,在所执行命令的目录下会生成两个文件:

id_rsa_gitlab
id_rsa_gitlab.pub

这两个文件截图如下:
在这里插入图片描述

用其他的方式可以生成所需的公钥和私钥对。邮箱尽量和git账号的邮箱保持一致,这样也便于以后区分。

3.gitlab配置

在gitlab上,账户的Settings中进行配置:
在这里插入图片描述

在左侧的sshKey中:
在这里插入图片描述

将公钥中的文本内容copy到下列位置:

在这里插入图片描述

copy之后如下:
在这里插入图片描述

title可以自定义配置。

github中的配置也与上述类似:
在这里插入图片描述

添加ssh key:
在这里插入图片描述

  1. windows本地的git配置
    首先需要将生成的公钥和私钥对,copy到当前用户的.ssh目录中去。
windows中位于如下目录:
#windows
C:\Users\username\.ssh
#linux
/home/username/.ssh

copy之后,,ssh中的文件:
在这里插入图片描述

其中,id_rsa是github的密钥对。id_rsa_gitlab是gitlab的密钥对。
config文件是本文的关键,这个文件需要手动新建,其内容如下:

# 配置github.com
Host github.com                 
    HostName github.com
    IdentityFile C:\\Users\\username\\.ssh\\id_rsa
    PreferredAuthentications publickey
    User github_username

# 配置gitlab私服
Host git.xxxx.cn
    HostName git.xxxx.cn
    IdentityFile C:\\Users\\username\\.ssh\\id_rsa_gitlab
    PreferredAuthentications publickey
    User gitlab_username

上述username为windows用户的当前用户名。
github_username 为github上的username.
gitlab_username 为gitlab本地私服的username.
配置完成之后,对上述配置进行测试,测试命令:

ssh -T git@github.com

测试结果如下:
在这里插入图片描述

测试成功即表明配置成功,两个git能够访问。
可以查看know_hosts文件发现,配置的githost已经被自动添加了。
在这里插入图片描述

后面就可以愉快的拉代码了。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐