Windows下同一电脑配置多个Git公钥访问不同的账号

2024-03-10 17:04

本文主要是介绍Windows下同一电脑配置多个Git公钥访问不同的账号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

产生这个问题的原因是我在Gitee码云上有两个账号,为了方便每次不用使用http模式推拉代码,于是我就使用了ssh的模式,起初呢我用两台电脑分别连接两个账号,用起来也相安无事,近段时时间台式机在家里,我在外地出差了,就想着把ssh公钥同时添加到不同的账号里,结果却发现不能用,在同一个平台下一个ssh公钥只能在一个账号上绑定,于是乎一番查找,功夫不负有心人,终于找到了在一台电脑上生成多个ssh公钥并在两个同平台的账号上使用的方式.

解决方案

首先确保已有Git环境的安装
在本地生成两个ssh-key公钥

ssh-keygen -t rsa -C "643987204@qq.com" -f ~/.ssh/643987204@qq.com_rsa
ssh-keygen -t rsa -C "ZPS@DESKTOP-B78B5D4" -f ~/.ssh/id_rsa

参数解释:
-t 表示ssh的密钥类型,常用的有:rsa、ed25519、dss。
-C 注释或称名称标识,此值随意,不加就是默认用户名加主机名。
-f 就是可以指定生成的文件名称前缀,不加就是默认到用户目录的.ssh/id_rsa。
(详细解释可以看评论区的文章链接)
在这里插入图片描述
生成后的ssh-key公钥文件
ssh-key公钥
在Gitee码云的不同账号中分别添加在两个不同的公钥,注意以.pub结尾的才是公钥文件!
接下来是实现在本地可同时提交不同账号下仓库的代码的关键操作了,在生成的公钥文件的文件夹下创建config文件,里面输入如下内容

# 添加config配置文件# 文件内容以下:
# Gitee:2220655224@qq.com
Host 2220655224.gitee.comHostName gitee.com
#    PreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa
#    User 2220655224# Gitee:643987204@qq.com
Host 643987204.gitee.comHostName gitee.com
#    PreferredAuthentications publickeyIdentityFile ~/.ssh/643987204@qq.com_rsa
#    User 643987204  # 配置文件参数
# Host : Host能够看做是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登陆主机的主机名
# User : 登陆名
# IdentityFile : 指明上面User对应的identityFile路径
# PreferredAuthentications : 选项的值是用逗号分隔的字符串,每个字符串代表一种认证方法。常见的认证方法包括:publickey:公钥认证 password:密码认证 hostbased:基于主机的认证 keyboard-interactive:交互式认证 gssapi-with-mic:GSSAPI 认证 在使用SSH客户端时,如果服务器支持的认证方法多于一种,客户端会按照这个配置文件中设置的顺序尝试认证。如果第一种方法失败了,它会尝试下一种方法。如果所有方法都失败了,SSH会终止尝试并返回失败信息。

在这里插入图片描述
在这里插入图片描述

拉取代码操作类似下面就行
git clone git@643987204.gitee.com:ZPSV/jiaoZhi.git

在这里插入图片描述

验证SSH-KEY
ssh -T git@643987204.gitee.com

有successfully就是成功,还可以看到验证的是那个账号信息.
在这里插入图片描述

idea设置:

URL添加就行
在这里插入图片描述
在这里插入图片描述

注意

1: 这样设置后每个平台的每个账号都需要在config中进行配置,对于只有一个账号的平台,未配置的话无法使用ssh方式管理代码,因为现有的配置中没法匹配到公钥文件
2: 其他平台的代码管理也需要在config中配置 Host 、HostName和IdentityFile,多个账号的话类似上面congig文件操作。

如有错误,感谢评论指正!!!

这篇关于Windows下同一电脑配置多个Git公钥访问不同的账号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794910

相关文章

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Python Flask实现定时任务的不同方法详解

《PythonFlask实现定时任务的不同方法详解》在Flask中实现定时任务,最常用的方法是使用APScheduler库,本文将提供一个完整的解决方案,有需要的小伙伴可以跟随小编一起学习一下... 目录完js整实现方案代码解释1. 依赖安装2. 核心组件3. 任务类型4. 任务管理5. 持久化存储生产环境

Python批量替换多个Word文档的多个关键字的方法

《Python批量替换多个Word文档的多个关键字的方法》有时,我们手头上有多个Excel或者Word文件,但是领导突然要求对某几个术语进行批量的修改,你是不是有要崩溃的感觉,所以本文给大家介绍了Py... 目录工具准备先梳理一下思路神奇代码来啦!代码详解激动人心的测试结语嘿,各位小伙伴们,大家好!有没有想

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

WinForm跨线程访问UI及UI卡死的解决方案

《WinForm跨线程访问UI及UI卡死的解决方案》在WinForm开发过程中,跨线程访问UI控件和界面卡死是常见的技术难题,由于Windows窗体应用程序的UI控件默认只能在主线程(UI线程)上操作... 目录前言正文案例1:直接线程操作(无UI访问)案例2:BeginInvoke访问UI(错误用法)案例

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具