【教程】git多帐号配置 三步完成配置

news/2024/11/17 2:26:43/

【教程】git多帐号配置

📔 千寻简笔记介绍

千寻简笔记已开源,Gitee与GitHub搜索chihiro-notes,包含笔记源文件.md,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助请帮我点一个Star

文章目录

  • 【教程】git多帐号配置
    • 📔 千寻简笔记介绍
    • 一、背景
    • 二、步骤
    • 三、创建config文件
    • 四、测试ssh-key是否连通

一、背景

作为一名出色的开发工程师,目前互联网代码托管平台众多同时有些平台已不支持账号和密码的直接gitbash操作。在我们托管平台多项目多,比如公司用的gitlab、而同时也参加一些开源项目在github、gitee等代码托管平台上;那么如何利用手中的一台开发机,同时支持多个代码托管平台的代码免密进行代码提交拉取等操作呢?这篇文章告诉你答案。以下以MacOS为例。

二、步骤

清除全局的帐号

xingchen@star ruoyi-ui % git config --global --unset user.name
xingchen@star ruoyi-ui % git config --global --unset user.email

在用户目录下的.ssh目录下生成ssh免密登录公钥和私钥

  • 打开终端Terminal,进入Termina默认是用户目录(~),执行以下命令:
cd ~/.ssh 
ssh-keygen -t rsa -C "github邮箱地址" -f ~/.ssh/gitlab_rsa

-t 指定生成rsa类型的秘钥

-C 指定该秘钥注释以便查阅

-f 指定生成秘钥的名字,可以不指定该参数,默认就会生成2个文件:私钥id_rsa,公钥id_rsa.pub。由于需要生成两对私钥公钥,因此需要指定-f,否则生成两次后,私钥公钥会覆盖。

一路回车后,同样在文件夹中看到了生成的Github私钥gitlab_rsa和公钥gitlab_rsa.pub

  • 将公钥配置到对应的gitlab账号中

公钥 即.pub文件可以直接用文本打开,内容粘贴到github的Settings -> SSH and GPG keys -> New SSH Key,Title随便起,自己能认出来即可,Key里面填写复制的.pub里的内容

同样步骤操作github平台

ssh-keygen -t rsa -C "xxxxxxx@qq.com" -f ~/.ssh/github_rsa

三、创建config文件

在.ssh目录下创建config 文件,git通过这个文件才知道哪个私钥去对应哪个公钥

vim config
#自己的github账号配置
Host github.com
port 22
User git
HostName github.com
AddKeysToAgent yes
UseKeychain yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa#公司的gitlab账号配置(HostName为公司的gitlab地址)
Host gitlab.huolala.cn
port 22
User git
HostName gitlab.huolala.cn
AddKeysToAgent yes
UseKeychain yes
PreferredAuthentications publickey
IdentityFile  ~/.ssh/gitlab_rsa

config文件部分参数含义,仅做记录

Host:可以看作是一个你要识别的模式,对识别的模式,配置对应的主机名和ssh文件

Port:自定义的端口。默认为22,可不配置

User:自定义的用户名,默认为git,可不配置

HostName:真正连接的服务器地址

PreferredAuthentications:指定优先使用哪种方式验证,支持密码和秘钥验证方式

IdentityFile:指定本次连接使用的密钥文件

AddKeysToAgent:是否自动将 key 加入到 ssh-agent,值可以为 no(default)/confirm/ask/yes。如果是 yes,key 和密码都将读取文件并加入到 agent ,就像 ssh-add。其他人分别是询问、确认、不加入的意思。添加到 ssh-agent 意味着将私钥和密码交给它管理,让它来进行身份认证。

UseKeychain:ssh密钥的密码存储在钥匙串中

四、测试ssh-key是否连通

ssh -T git@github.com
ssh -T git@gitlab.huolala.cn
ssh -T git@github.com
Hi yuncopy! You've successfully authenticated, but GitHub does not provide shell access.

成功的情况返回如上所示。


http://www.ppmy.cn/news/35669.html

相关文章

【MySQL】MySQL的介绍MySQL数据库及MySQL表的基本操作

文章目录数据库的介绍什么是数据库数据库分类MySQL的介绍数据库的基本操作数据库的操作创建数据库查看所有数据库选中指定的数据库删除数据库常用数据类型数值类型字符串类型日期类型表的操作创建表查看指定数据库下的所有表查看指定表的结构删除表小练习数据库的介绍 什么是数…

前端布局小案例,分享3个漂亮的卡片组件

当今互联网发展迅猛,各种应用、网站和软件层出不穷,其中前端技术的发展更是让人瞩目。随着用户对于界面设计的要求越来越高,漂亮的卡片组件在各类网页设计中变得越来越流行。本文将分享三个精美的卡片组件,帮助您在前端开发中轻松…

【备战蓝桥杯】----01背包问题(动态规划)

🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…

【Linux】计算机网络1

计算机网络的背景背景:早在20世纪50年代初,美国建立的地面防空系统就是将地面的雷达和其他测量控制设备的信息通过通信线路汇集到一台中心计算机进行处理,开创了把计算机技术和通信技术相结合的尝试。20世纪60年代中期开始,出现、…

[致敬未来的攻城狮计划 1] 使用 “FSP Configuration”(FSP 配置)透视配置器设置运行环境

开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯(http://yyds.recan-li.cn)和 瑞萨MCU (瑞萨电子 (Renesas Electronics Corporation) ) 联合发起的「 致敬未来的攻城狮计划 」的第 4 天,点击…

详解:数字化企业转型,如何做好知识文档管理?

随着数字化时代的到来,企业也面临着数字化转型的问题。知识文档的管理是数字化企业转型中非常重要的一环。本文将详细介绍数字化企业如何做好知识文档管理。 一、什么是知识文档管理? 知识文档管理是指对企业所拥有的知识文档进行有效地收集、分类、存…

vue中名词解释

No名称略写作用应用场景其他1 单页面应用 (Single-page application) SPA 1,控制整个页面 2,抓取更新数据 3,无需加载,进行页面切换 丰富的交互,复杂的业务逻辑的web前端一般要求后端提供api数据…

Flink学习笔记(六)Time详解

一、Flink中Time的三种类型: Stream数据中的Time(时间)分为以下3种: 1.Event Time(事件产生的时间): 事件的时间戳,通常是生成事件的时间。Event time 是事件本身的时间&#xff0c…