赞
踩
1、鼠标右键,选择Git bash Here(已经安装过Git客户端);
2、输入命令:ssh-keygen -t rsa -C xxx@qq.com;(xxx@qq.com是gitlab登录的邮箱账号)
3、第二步回车之后会让你选择生成文件的保存位置和设置密码,文件保存位置默认即可,生成之后去默认保存的位置找到.ssh文件夹;
4、在.ssh目录下打开id_rsa.pub,复制里面的内容;
5、登录Gitlab,点击右上角的账户
6、点击Setting
7、点击SSH Keys
8、把id_rsa.pub里面的内容粘贴到Key对应的地方,然后点击Add Key即可。
到此,Git客户端访问Gitlab的SSH Key已经设置成功。
下一步使用Git客户端从Gitlab下载代码
点击Clone,选择Clone with SSH,然后复制git开头的那个链接,回到Git客户端,使用命令Git clone xxxx,即可复制代码
如果这样配置之后clone代码一直提示输入密码,输入正确密码之后仍然提示permission denied,可在.ssh文件夹下新建一个config文件(没有后缀),里面的内容为
Host 10.7.23.249 //git clone地址前面部分( git@10.7.23.249:xxxx/xxxx.git)
Port 10022
IdentityFile "~/.ssh/id_rsa" //id_rsa为公钥文件名
9、本地配置多个ssh key
大多数时候,我们的会有很多的git host,比如gitlab、github等,那我们就需要在本地配置多个ssh key,使得不同的host能使用不同的ssh key ,做法如下(以gitlab和github为例):
1.为gitlab生成一对秘钥ssh key
ssh-keygen -t rsa -C 'xxx@xx.com' -f ~/.ssh/gitlab-rsa
2.为github生成一对秘钥ssh key
ssh-keygen -t rsa -C 'xxx@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四个文件。
本地如何配置多个gitlab的ssh
多个不同的gitlab可以共用同一个ssh配置,即只要生成一套id_rsa和id_rsa.pub文件即可,然后把id_rsa.pub的公钥设置在不同gitlab的SSH Key那里即可
config的配置如下:
- # 这个是10.8.50.249上的gitlab
- Host 10.8.50.249
- Port 10022
- IdentityFile "~/.ssh/id_rsa"
-
- #这个是10.8.8.163上的gitlab
- Host 10.8.8.163
- Port 22
- User git
- IdentityFile "~/.ssh/id_rsa"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。