Git 配置多账号(Mac)

一.设置公司gitlab密钥对(全局配置)

  1. 设置一个全局账号
git config --global user.name <yourname>
git config --global user.email <[email protected]>
  1. 用公司邮箱生成秘钥(默认生成id_rsa、id_rsa.pub)
ssh-keygen -t rsa -C "[email protected]"

输入命令后一直回车(密码可以不填),至此 gitlab 用的密钥对就生成了, 在 ~/.ssh 文件夹下。

  1. 把公钥id_rsa.pub里面的内容填入gitlab的SSH Keys

切换到~/.ssh,命令行显示id_rsa.pub内容

cd ~/.ssh
cat id_rsa.pub

在这里插入图片描述
登录gitlab -> 进入setting -> 点击SSH Keys -> 粘贴公钥并添加
Git 配置多账号(Mac)_第1张图片

  1. clone公司项目到本地
git clone <ssh://host:2224.git>

clone成功代表gitlab设置成功

二、设置github密钥对

  1. 生成github上用的密钥对(id_rsa_github、id_rsa_github.pub)

-f 后是你要放的位置,及新密钥对要用的名字, 这里使用id_rsa_github这个名字。

ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_github

输入命令后一直回车(密码可以不填),至此 github 用的密钥对就生成了,也在 ~/.ssh 文件夹下。

  1. 配置known_hosts文件

系统存在多对密钥对时,git 默认用id_rsa密钥对。
如果想针对不同的域名使用不同的密钥对, 需要做设置,即配置known_hosts文件。
如下命令就是把id_rsa_github这个密钥对添加到配置列表,如果这句命令报错 ,请先执行这句 ssh-agent bash

ssh-add ~/.ssh/id_rsa_github
  1. 把公钥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”保存成功。

  1. github连接测试
ssh -T [email protected]

连接测试成功,显示如下:
在这里插入图片描述

连接测试时出现报错(无报错可忽略):[email protected]: Permission denied (publickey).
报错原因:客户端与服务端的ssh key不匹配
解决方法如下:

# 1)执行步骤1,重新生成并覆盖github上用的密钥对(id_rsa_github、id_rsa_github.pub)
# 2)执行如下命令后,确认最后两句是: No more authentication methods to try. Permission denied (publickey).
ssh -v [email protected]
# 3)执行如下命令
ssh-agent -s
# 4)执行步骤2,配置known_hosts文件
ssh-add ~/.ssh/id_rsa_github
  1. clone GitHub项目并配置局部变量
# 克隆项目代码
git clone [email protected]:XXX/devops.git
# 切换到本地项目路径(项目必须存在git文件)
cd /devops
# 配置局部用户名邮箱
git config user.name "yougithubname"
git config user.email "[email protected]"

你可能感兴趣的:(DevOps,git)