一.设置公司gitlab密钥对(全局配置)
- 设置一个全局账号
git config --global user.name <yourname>
git config --global user.email <mygitlab@mali.cn>
- 用公司邮箱生成秘钥(默认生成id_rsa、id_rsa.pub)
ssh-keygen -t rsa -C "mygitlab@mail.cn"
输入命令后一直回车(密码可以不填),至此 gitlab 用的密钥对就生成了, 在 ~/.ssh 文件夹下。
- 把公钥id_rsa.pub里面的内容填入gitlab的SSH Keys
切换到~/.ssh,命令行显示id_rsa.pub内容
cd ~/.ssh
cat id_rsa.pub
登录gitlab -> 进入setting -> 点击SSH Keys -> 粘贴公钥并添加
- clone公司项目到本地
git clone <ssh://host:2224.git>
clone成功代表gitlab设置成功
二、设置github密钥对
- 生成github上用的密钥对(id_rsa_github、id_rsa_github.pub)
-f 后是你要放的位置,及新密钥对要用的名字, 这里使用id_rsa_github这个名字。
ssh-keygen -t rsa -C "mygithubemail@mail.com" -f ~/.ssh/id_rsa_github
输入命令后一直回车(密码可以不填),至此 github 用的密钥对就生成了,也在 ~/.ssh 文件夹下。
- 配置known_hosts文件
系统存在多对密钥对时,git 默认用id_rsa密钥对。 如果想针对不同的域名使用不同的密钥对, 需要做设置,即配置known_hosts文件。 如下命令就是把id_rsa_github这个密钥对添加到配置列表,如果这句命令报错 ,请先执行这句 ssh-agent bash
ssh-add ~/.ssh/id_rsa_github
- 把公钥id_rsa_github.pub的内容填入github的SSH Keys
切换到~/.ssh,命令行显示id_rsa.pub内容
cd ~/.ssh
cat id_rsa_github.pub
登录github -> 点击右上角头像 -> 下拉菜单里点Settings -> 进入设置页点左侧的 “SSH and GPG keys” -> 点击“New SSH Key” -> 粘贴复制的id_rsa.pub内容,并点击“Add SSH Key”保存成功。
- github连接测试
ssh -T git@github.com
连接测试成功,显示如下:
连接测试时出现报错(无报错可忽略):git@github.com: Permission denied (publickey). 报错原因:客户端与服务端的ssh key不匹配 解决方法如下:
ssh -v git@github.com
ssh-agent -s
ssh-add ~/.ssh/id_rsa_github
- clone GitHub项目并配置局部变量
git clone git@github.com:XXX/devops.git
cd /devops
git config user.name "yougithubname"
git config user.email "mygithubemail@mail.com"
|