1.背景
现在大多数人都采用git进行版本管理,在git下面进行开发被越来越多的程序员所接受。还有越来越多的人参与开源社区的建设。现在有一个问题就是,在windows环境下,如何在git客户端上通过ssh key的方式配置多个账号。不需要输入git的用户名和密码,使得更加方便高效。
2. SSH Key的生成
在windows上打开git的bash客户端命令行窗口:
之后执行ssh-keyget,生成rsa的公钥和私钥。
代码语言:javascript复制 ssh-keygen -t rsa -C mail@mail.com
执行结果如下:
生成的文件命名为 id_rsa_gitlab 私钥的密码可以不用设置,也可以根据个人情况进行设置。生成之后,在所执行命令的目录下会生成两个文件:
代码语言:javascript复制id_rsa_gitlab
id_rsa_gitlab.pub
这两个文件截图如下:
用其他的方式可以生成所需的公钥和私钥对。邮箱尽量和git账号的邮箱保持一致,这样也便于以后区分。
3.gitlab配置
在gitlab上,账户的Settings中进行配置:
在左侧的sshKey中:
将公钥中的文本内容copy到下列位置:
copy之后如下:
title可以自定义配置。
github中的配置也与上述类似:
添加ssh key:
- windows本地的git配置 首先需要将生成的公钥和私钥对,copy到当前用户的.ssh目录中去。
windows中位于如下目录:
#windows
C:Usersusername.ssh
#linux
/home/username/.ssh
copy之后,,ssh中的文件:
其中,id_rsa是github的密钥对。id_rsa_gitlab是gitlab的密钥对。 config文件是本文的关键,这个文件需要手动新建,其内容如下:
代码语言:javascript复制# 配置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. 配置完成之后,对上述配置进行测试,测试命令:
代码语言:javascript复制ssh -T git@github.com
测试结果如下:
测试成功即表明配置成功,两个git能够访问。 可以查看know_hosts文件发现,配置的githost已经被自动添加了。
后面就可以愉快的拉代码了。