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

相关文章

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.