使用场景:在gitlab 和 gitee上各一个账号,通过ssh访问git。
1、首先清空全局的邮箱和用户名
git config --global --list //查看之前设置
//删除之前的配置
git config --global --unset user.name "你的名字" //删除之前的名字配置
git config --global --unset user.email "你的邮箱"//删除之前的名字配置
2、进入~/.ssh 文件夹,若不存在就创建
cd ~/.ssh
若该文件夹下已经有旧的秘钥文件,先不管
3、创建秘钥
ssh-keygen -t rsa -C 你的git邮箱
输入完命令后,会提示你输入文件名(这里是gitee_rd_rsa),如下图

输入完文件名后,回车,会要求输入密码,不管,继续回车,再按回车,如下图

秘钥创建完成,查看加文件,如下图
其中,以pub结尾的是公钥,另一个是私钥

这里gitee的秘钥就创建完了。gitlab的私钥同理。
4、将公钥添加到gitee和gitlab上
登录gitee --- 个人头像 --- 设置 ---- SSH公钥

将你的公钥复制进去,这里使用cat 查看公钥值
cat gitee_rd_rsa.pub

公钥内容全部复制到gitee,然后确定,就OK了

gitlab 添加公钥
登录gitlab后,选择项目,右上角有个设置,选择deploy keys, 就会进入添加key的页面了

同样cat下gitlab的公钥值

将公钥添加到gitlab,点击Add

5、添加完公钥后,测试下
测试gitee
ssh -T git@gitee.com
测试gitlab
因为我们是公司的gitlab,所以是个私有地址,这个困扰了我很久
ssh -T git@gitlab.***.cn

还有一点注意,第一次测试时,可能会有一个提示说 另一个账号再用这个key之类的意思,问是否需要继续,输入yes,回车即可。
6、接下来配置config文件
在 ~/.ssh 目录下,新建config文件。
内容如下:

7、接下来 执行ssh-agent让ssh识别新的私钥
添加gitee的私钥路径
ssh-add ~/.ssh/gitee_id_rsa
添加gitlab的私钥路径
ssh-add ~/.ssh/gitlab_id_rsa
8、大功告成
就可以愉快的提交代码了
如果重启电脑后,出现权限拒绝的情况。重新执行下步骤 7
网友评论