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

相关文章

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi