git配置多SSH

目的:

一台电脑可以让github、gitee等账号同时存在,让不同账号配置不同的密钥

第一步:创建不同平台的SSH公钥

执行命令:

bash 复制代码
ssh-keygen -t rsa -C "对应仓库邮箱地址" -f ~/.ssh/id_rsa.github

如果执行上面的命令,得到如下结果

那你可以使用这样的命令:

bash 复制代码
ssh-keygen -t rsa -C "平台对应的邮箱地址"

注意,使用上面这条命令创建第2个ssh公钥时,因为第1个公钥的名字已经使用了默认的rsa,所以不要急于按回车键,需要输入公钥的别名:

创建完,目录如下:

一个是gitee平台,一个是github平台

查看生成的密钥

bash 复制代码
cat ~/.ssh/id_rsa.pub

将密钥配置到对应的平台

以github平台为例:

注册密钥到ssh-agent

多账号必须配置 config 文件(文件地址:C:\Users\用户名\.ssh,文件名:config),需要这一步是因为ssh默认会去查找那个唯一的id_rsa秘钥,不会识别我们前文自定义生成的秘钥,所以需要将自定义的密钥注册到ssh-agent

注意:以下命令是在git.bash执行

1.注册密钥

bash 复制代码
ssh-add ~/.ssh/id_rsa.别名

或者输入全路径:

bash 复制代码
ssh-add C:\Users\Administrator\.ssh\id_rsa别名

注意:ssh-add出现Error connecting to agent: No such file or directory的解决方法

以管理员身份运行】在 PowerShell 执行,依次执行如下命令:

bash 复制代码
Set-Service ssh-agent -StartupType Manual
Start-Service ssh-agent

2、查看注册结果(将看到设置的两条记录)

bash 复制代码
ssh-add -l

3、在ssh文件夹下创建config文件并进入编辑模式

bash 复制代码
cd ssh  #进入ssh文件夹
touch config  #创建config文件
vim config  #进入config文件

按下i键进入编辑模式

编辑如下内容(还是以Github和gitee为例):
bash 复制代码
Host github.com
HostName github.com
User Shawn #别名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github

Host gitee.com
HostName gitee.com
User ShawnWong #别名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

编辑完成后按esc并输入:wq退出config文件

5、分别测试连通性

bash 复制代码
# 这里对应的是config文件中设置的HostName
ssh -T git@github.com

本地ssh目录:

相关推荐
为什么要内卷,摆烂不香吗8 小时前
Grafana 12.2.0导入仪表盘
运维·grafana
乾元8 小时前
AI 驱动的入侵检测与异常会话判别:从规则到行为分析前言:从“捕获敌人”到“守卫秩序”
运维·网络·人工智能·网络协议·安全
春日见8 小时前
眼在手上外参标定保姆级教学(vscode + opencv)
linux·运维·服务器·数码相机·opencv·ubuntu·3d
梁下轻语的秋缘9 小时前
I2S与I2C
运维·stm32·单片机·51单片机
安达发公司9 小时前
安达发|效率革命:APS自动排程,为“金属丛林”安装精准导航
大数据·运维·人工智能·aps高级排程·aps排程软件·安达发aps·aps自动排程
科士威传动9 小时前
精密仪器中的微型导轨如何选对润滑脂?
大数据·运维·人工智能·科技·机器人·自动化
TracyGC9 小时前
Linux环境-RTX5080显卡CUDA12.8下安装mmcv/mmdetection3d
linux·运维·服务器
星月心城9 小时前
git提交代码时所遇问题
大数据·git·elasticsearch
Dolphin_海豚9 小时前
到底是选 merge 还是选 rebase
git·面试·程序员
xu_ws10 小时前
Linux下快速安装配置Redis全攻略
linux·运维·服务器