当前位置: 首页 > article >正文

github多个账号配置多个SSH秘钥

背景

对于有多个github账号的同学,需要配置多个ssh秘钥分别管理多个账号。


方法

1、生成多个SSH秘钥

# 为第一个 GitHub 账号生成密钥
ssh-keygen -t ed25519 -C "your_email_1@example.com" -f ~/.ssh/id_ed25519_github_work

# 为第二个 GitHub 账号生成密钥
ssh-keygen -t ed25519 -C "your_email_2@example.com" -f ~/.ssh/id_ed25519_github_personal

-C 是邮箱地址的注释,-f 指定密钥文件保存的位置。

2、将公钥添加到对应的 GitHub 账号

生成 SSH 密钥后,你需要将公钥添加到各自的 GitHub 账户中。

  • 运行以下命令复制 SSH 公钥:
复制代码
cat ~/.ssh/id_ed25519_github_work.pub
  • 复制密钥内容后,打开 GitHub 账户,进入 Settings > SSH and GPG keys,点击 New SSH Key,将密钥添加进去。
  • 同样地,重复步骤为第二个 GitHub 账号添加对应的公钥。

3、配置 SSH

在 ~/.ssh/config 文件中配置 SSH,使其知道每个仓库应该使用哪个密钥。

# 第一个 GitHub 账号配置 (工作账号)
Host github-work
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_github_work

# 第二个 GitHub 账号配置 (个人账号)
Host github-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_github_personal

4、克隆仓库时使用不同的 Host

# 对于第一个 GitHub 账号(工作账号),你应该使用如下的命令来克隆仓库:

git clone git@github-work:username/repository.git

# 对于第二个 GitHub 账号(个人账号),则使用:

git clone git@github-personal:username/repository.git

5、配置现有仓库使用特定的 SSH Key

如果你已经克隆了某个仓库,并且想为其指定使用特定的 SSH Key,可以使用以下命令更改仓库的远程 URL:

# 工作账号仓库
git remote set-url origin git@github-work:username/repository.git

# 个人账号仓库
git remote set-url origin git@github-personal:username/repository.git


总结

通过生成多个 SSH 密钥、配置 SSH 文件和使用不同的 Host 名称,你可以在同一台机器上无缝地管理多个 GitHub 账号。


http://www.kler.cn/news/360374.html

相关文章:

  • 在分类内用最大最小值筛选(每个分类找出一个)
  • 2011年国赛高教杯数学建模D题天然肠衣搭配问题解题全过程文档及程序
  • Python GUI 编程:tkinter 初学者入门指南——复选框
  • 归一化——5种方法详细分类说明
  • 重庆大学软件工程考研,难度如何?
  • Linux -- 进程间通信、初识匿名管道
  • Java项目-基于springcloud框架的分布式架构网上商城系统项目实战(附源码+文档)
  • OceanBase 的写盘与传统数据库有什么不同?
  • 一个检测work是否被包含在训练数据集中的工具
  • Spring-aop介绍
  • Adobe Acrobat DC 打印PDF文件,没有打印出注释的解决方法
  • 【Linux】文件IO深度解析:文件描述符与重定向的奥秘
  • LeetCode 1456.定长子串中元音的最大数目
  • ESP32移植Openharmony外设篇(1)MQ-2烟雾传感器
  • 独著的出版流程是怎样的?
  • rabbitMQ消息重复问题怎么解决的?
  • API 接口封装技术详解
  • 【JVM】—深入理解ZGC回收器—关键技术详解
  • M3D: Advancing 3D Medical Image Analysis with Multi-Modal Large Language Models
  • Scala内部类和Java内部类的不同