Git多库多账号本地SSH连接配置方法

Git多库多账号本地SSH连接配置方法

一、前言

在使用Git管理代码时,很大可能会存在多个不同的库,公司(一般部署的是私服),个人(github、gitee或其他的),这时候就要同时操作多个不同的账号提交代码。下面说下使用ssh方式配置和管理多个git账号的方法。

二、环境

  • windows 10
  • git version 2.34.0.windows.1

三、帮助文档

四、多环境配置

git通过config文件,可以配置多个库的多个私钥,在执行clone命令时,会通过指定库的域名使用不同私钥文件进行自动登录鉴权。config文件默认存在 C:\Users\admin.ssh 目录下。

注:config是个没有后缀的文本文件,不是文件夹

  • 操作顺序是:
    • 通过ssh-keygen命令生成ras的公钥、私钥;
    • 修改/新增config文件;
    • 配置config加入多环境配置;

4.1 配置config文件

打开目录 C:\Users\admin.ssh ,使用文本编辑器打开config文件(没有手动建一个),录入一下内容并保存。

其中 host 后面的域名(也可以填写IP),根据实际情况填入。

  • 参数说明:
    • Host 为代码服务器的域名或IP;

    • IdentityFile 为通过ssh-keygen生成的rsa私钥文件,xxx_id_rsa为无后缀的文本文件,生成方法后续介绍;

      github

      Host code.github.com
      Preferredauthentications publickey
      IdentityFile ~/.ssh/github_id_rsa

      gitee

      Host code.gitee.com
      Preferredauthentications publickey
      IdentityFile ~/.ssh/gitee_id_rsa

五、生成RSA秘钥对

5.1 ssh秘钥位置

ssh-keygen生成的文件默认存储在用户目录下,如:C:\Users\admin.ssh目录,

admin为当前登录用户名。

5.2 生成秘钥对(公钥、私钥)

执行ssh-keygen命令生成执行用户的公钥、私钥文件,使用-f参数控制生成的文件名和生成位置。

复制代码
--执行命令
ssh-keygen -t rsa -b 2048 -C "xiexiaojing" -f C:\Users\admin\.ssh\github_id_rsa
--输出内容
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\admin\.ssh\github_id_rsa.
Your public key has been saved in C:\Users\admin\.ssh\github_id_rsa.pub.

5.3 添加公钥到GIT用户配置中

  • 用文本编辑器打开生成的github_id_rsa.pub公钥文件;
  • 进入git服务器,找到用户配置页(打开http://www.mygithub.com:8080/-/profile/keys);
  • 在User Settings下面找到 SSH Keys 连接,点击进入;
  • 在右侧 Key 中填写 github_id_rsa.pub 公钥中的内容;
  • 点击按钮Add key,保存当前账户的公钥信息;

六 测试git是否可以使用

执行clone命令,conle远程库到本地;

七、总结

通过以上配置,可以方便的在多个库中切换账号。我们只需要在conle的根目录下执行git命令即可,git会通过域名去寻找当前库需要使用的私钥,完成鉴权操作。

相关推荐
l1t2 分钟前
在linux和windows中解决duckdb 1.6dev版本输出执行计划报错问题
linux·运维·数据库·windows·duckdb
fei_sun38 分钟前
路径MTU发现
linux·运维·网络
Tian_Hang1 小时前
Eclipse Ditto 物模型相关代码
java·运维·服务器·ide·eureka·eclipse
iangyu3 小时前
linux配置时间同步
linux·运维·服务器
iPad协议个微协议4 小时前
企业微信文件上传下载在自动化系统中的处理方式
java·运维·人工智能·机器人·自动化·企业微信
Tian_Hang5 小时前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
江畔柳前堤5 小时前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
爱喝水的鱼丶5 小时前
SAP-ABAP:接口 vs 抽象类:ABAP OOP两类扩展方式的差异与选型原则
运维·性能优化·sap·abap·erp·经验交流
iCxhust5 小时前
linux目录是否保存在硬盘 启动后读入解析的
linux·运维·服务器
敖行客 Allthinker5 小时前
企业级多台服务器组装 K3s 高性能集群实战指南
运维·服务器·团队开发