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

news/2024/5/17 15:15:53 标签: git, gitee, ssh, 密码学, gitea, github
前言

产生这个问题的原因是我在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公钥文件
<a class=ssh-key公钥" />
在Gitee码云的不同账号中分别添加在两个不同的公钥,注意以.pub结尾的才是公钥文件!
接下来是实现在本地可同时提交不同账号下仓库的代码的关键操作了,在生成的公钥文件的文件夹下创建config文件,里面输入如下内容

# 添加config配置文件

# 文件内容以下:
# Gitee:2220655224@qq.com
Host 2220655224.gitee.com
    HostName gitee.com
#    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
#    User 2220655224

# Gitee:643987204@qq.com
Host 643987204.gitee.com
    HostName gitee.com
#    PreferredAuthentications publickey
    IdentityFile ~/.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文件操作。

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


http://www.niftyadmin.cn/n/5418468.html

相关文章

IntelliJ IDEA 2020.2.4试用方法

打开idea&#xff0c;准备好ide-eval-resetter压缩包。 将准备好的压缩包拖入idea中 选中弹窗中的自动重置选项&#xff0c;并点击重置 查看免费试用时长

052-WEB攻防-XSS跨站脚本攻击反射型存储型DOM型标签闭合输入输出JS代码解析

052-WEB攻防-XSS跨站脚本攻击&反射型&存储型&DOM型&标签闭合&输入输出&JS代码解析 #知识点&#xff1a; 1、XSS跨站-输入输出-原理&分类&闭合 2、XSS跨站-分类测试-反射&存储&DOM 演示案例&#xff1a; ➢XSS跨站-输入输出-原理&…

2024.3.6每日一题

LeetCode 找出数组中的 K -or 值 题目链接&#xff1a;2917. 找出数组中的 K-or 值 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 nums 中的 K-or 是一个满足以下条件的非负整数&#xff1a; 只有在 nums 中&…

009-组件的data为什么是个函数

Vue 的data数据其实是Vue原型上的属性&#xff0c;vue组件就是一个vue实例。因为JavaScript引用类型特性&#xff0c;如果使用对象形式定义data&#xff0c;修改一个组件中data的值&#xff0c;其他组件也会受影响。 new Vue({el: #app,data: { message: Love },template: <…

Uniapp + SpringBoot 开发微信H5项目 微信公众号授权登录 JAVA后台(一、配置使用微信公众平台测试公众号)

申请测试号进行调试开发&#xff0c;测试号拥有大部分服务号有的接口权限。 一、接口配置信息填写校验 这里需要填写一个URL和一个Token验证字符串 我这里是用了natapp内网穿透 将本地的后台8080端口服务映射到了 http://x7zws8.natappfree.cc https://natapp.cn/在natapp官网…

狂雨CMS-采集规则(novelfull.com)

1. 填写采集规则的基本信息 首先点击采集管理中的添加按钮来新建规则&#xff1a; 然后进入到信息页面填写&#xff0c;包括&#xff1a; 规则名称&#xff1a;一般以要采集的源站名命名。 网站编码&#xff1a;默认自动检测即可。 类型&#xff1a;根据网站类型来选择&#x…

【C语言】深入理解指针(进阶篇)

一、数组名的理解 数组名就是地址&#xff0c;而且是数组首元素的地址。 任务&#xff1a;运行以下代码&#xff0c;看数组名是否是地址。 #include <stdio.h> int main() {int arr[] { 1,2,3,4,5,6,7,8,9,0 };printf("&arr[0] %p\n", &arr[0]);pri…

浅谈Redis和分布式系统

浅谈Redis Redis用于存储数据&#xff0c;且在内存当中进行存储。 但是在日常编写代码中&#xff0c;定义一个变量也就属于在内存当中存储一个数据。 Redis主要会在分布式系统当中发挥重要作用&#xff0c;如果只是单机程序&#xff0c;直接通过变量存储数据的方式会比使用Re…