赞
踩
1.运行git bash,使用如下命令生成ssh公钥和私钥,一路回车下去
ssh-keygen -t rsa -C 'xxx@xxx.com' //邮箱是你gitlab绑定的邮箱,一定要带引号
2.根据文件提示找到公钥文件,然后打开~/.ssh/id_rsa.pub文件,拷贝里面的内容
3.打开gitlab,找到Profile Settings–>SSH Keys—>Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮,此时ssh就已经配置完成了。
4.此时拉取代码和提交代码,就不需要输入密码了
大多数时候,我们的会有很多的git host,比如公司gitlab、github、oschina等,那我们就需要在本地配置多个ssh key,使得不同的host能使用不同的ssh key ,做法如下(以公司gitlab和github为例):
1.为公司生成一对秘钥ssh key
ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa
2.为github生成一对秘钥ssh key
ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa
3.在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:
# gitlab Host gitlab.com HostName gitlab.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_id-rsa # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_id-rsa # 配置文件参数 # Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件 # HostName : 要登录主机的主机名 # User : 登录名 # IdentityFile : 指明上面User对应的identityFile路径
4.按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub,使用git操作测试是否连接成功,此时再次查看~/…ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件。
我们为什么要使用ssh协议呢?因为ssh更加安全,然后更加方便,比如我们公司的gitlab由http协议换成了https协议,那么如果你是使用http协议管理代码,那么需要修改所有的项目中的git地址变成https,这会把我们给逼疯的!但是如果我们一开始就是用ssh协议,这不需要任何的修改,简直不能再爽一点了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。