Windows下Git多账号配置,同一电脑多个ssh-key的管理

本文介绍在Windows环境下配置Git多账号支持,管理多个ssh - key的方法。包括生成不同平台对应的私钥公钥、上传公钥到服务器、在.ssh目录创建并配置config文件、测试配置是否成功等步骤,还分享了学习心得,强调实践的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

原文:

https://blog.youkuaiyun.com/jiabailong/article/details/84236802?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

原文转载自:

https://www.cnblogs.com/popfisher/p/5731232.html

 

 

顺利添加多账号。不过还没有实现同步推送。可以参考:

Git管理多个远程仓库(GitHub和Coding)

https://blog.youkuaiyun.com/gorpeln/article/details/89355095?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.baidujs&dist_request_id=19588b92-0670-476d-8bc3-47fe596e2325&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.baidujs

git实现本地仓库同时关联多个远程仓库(Gitee和GitHub)

https://blog.youkuaiyun.com/xiecheng1995/article/details/106570059?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-6&spm=1001.2101.3001.4242

 

以下是标题原文:

 

 

Windows下Git多账号配置,同一电脑多个ssh-key的管理

清澈见底-66 2018-11-19 11:30:09  686  收藏

分类专栏: 问题

转载自https://www.cnblogs.com/popfisher/p/5731232.html

 这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有一些提到一些基础的操作。

  本文以配置github.com账号和git.oschina.net账号来逐步演示在Windows环境下配置Git多账号支持即在同一个电脑上管理多个ssh-key,对git多一分了解。

  备注:这篇文章所有执行命令的地方都是在管理员模式下进行,即打开cmd,Git Bash客户端用管理员身份运行程序。


1. 生成github.com对应的私钥公钥(本文中文件地址C:\Users\popfisher目录)

执行命令 ssh-keygen -t rsa -C email 创建github对应的sshkey,命名为id_rsa_github,密码 123456 

ssh-keygen -t rsa -C 774232122@qq.com

 

2. 同样的方式生产git.oschina.net的私钥公钥(邮箱地址可以相同可以不同,本文相同)

执行命令ssh-keygen -t rsa -C email创建github对应的sshkey,命名为id_rsa_oschina,密码 123456 

ssh-keygen -t rsa -C 774232122@qq.com

 

3. 把上面得到的文件拷贝到git默认访问的.ssh目录(win10在用户目录下,本文C:\Users\popfisher.ssh)

除了秘钥文件之外,config文件是后面的步骤中手动生产的,known_hosts文件是后续自动生产的

 

4. 把github对应的公钥和oschina对应的公钥上传到服务器

 GitHub添加SSH key的方式如下图所示:

 

git.oschina.net添加SSH key的方式如下图所示:

 

5. 在.ssh目录创建config文本文件并完成相关配置(最核心的地方)

每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostNameIdentityFile两个属性即可

Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:
Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git

 

HostName           这个是真实的域名地址
IdentityFile          这里是id_rsa的地址
PreferredAuthentications   配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
User            配置使用用户名

 

config文件配置如下:

复制代码

# 配置github.com
Host github.com                 
    HostName github.com
    IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_github
    PreferredAuthentications publickey
    User username1

# 配置git.oschina.net 
Host git.oschina.net 
    HostName git.oschina.net
    IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_oschina
    PreferredAuthentications publickey
    User username2

复制代码

 

 6. 打开Git Bash客户端(管理员身份运行)执行测试命令测试是否配置成功(会自动在.ssh目录生成known_hosts文件把私钥配置进去)

 

 

7. 测试成功之后就可以在电脑上同时使用git多多账号同时操作,互不影响了

clone github上的项目AndroidRotateAnim

  打开github上AndroidRotateAnim项目,复制其对应的clone命令入下图所示

 执行clone命令如下:

 

 

clone oschina.net上的项目AndroidDevTools

  打开git.oschina.net上AndroidDevTools项目,复制其对应的clone命令入下图所示

 

 执行clone命令如下:

 

学习心得

  在使用git的过程中,一般都只关注单账号的情况吗,工作中的配置也是直接由自己的上级发一个配置文档之类的东西,然后对着搞一遍就行了,可是当自己真正有这个需求的时候,突然发现束手无策。我自己当时也属于这个情况,有一天在家里,突然发现自己需要一台电脑支持多个SSH key的时候才发现自己不知道怎么下手了,于是就下定决心自己动手研究一下。对于技术,还是要亲自动手实践,实践出来的东西才能形成自己的真理,才不那么容易忘记。 

  这篇文章是我基于Win10平台上的实践,由于知识有限,可能还是没有总结得很完整,也可能在其他平台上会遇到一些其他的问题,没有时间去研究了,如果读者有遇到什么问题,欢迎留言讨论,共同学习。

### 配置GitSSH连接 #### 安装并初始化Git 在Ubuntu系统中,首先需要确认已安装Git工具。如果未安装,则可以通过以下命令完成安装: ```bash sudo apt update && sudo apt install git ``` 接着,配置用户的全局名称和电子邮件地址以便于后续提交代码时识别身份。 ```bash git config --global user.name "Your Name" git config --global user.email "your_email@example.com" ``` 上述命令设置了用户名以及邮箱地址用于标记每次提交的信息[^4]。 #### 创建SSH密钥对 为了实现无密码验证的安全登录方式,在本地计算机生成一对公私钥文件是非常重要的一步。执行下面这条指令来创建基于RSA算法的新密钥对,并关联指定电子信箱作为标签信息的一部分。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 当被询问保存位置时,默认路径通常是`~/.ssh/id_rsa`;对于密码保护选项可以直接按下Enter键跳过设置阶段。完成后将会得到两个重要文档——一个是私人钥匙(`id_rsa`)另一个则是公开钥匙(`id_rsa.pub`)存储在同一目录下。 #### 添加SSH KeyGitHub账户 获取刚才生产的公共密钥内容,将其粘贴进个人GitHub账号下的SSH Keys列表里新增加一项条目之中。 1. 打开终端输入如下命令查看公钥内容: ```bash cat ~/.ssh/id_rsa.pub ``` 2. 登录到自己的GitHub主页后依次点击右上方头像图标 -> Settings -> SSH and GPG keys 页面上的 New SSH key 按钮; 3. 将刚刚复制出来的字符串填入Key框内同时给予适当Title描述即可成功绑定该设备与云端服务之间的信任关系建立过程完毕[^5]。 #### 测试连接状态 通过尝试访问github服务器端口检验整个流程是否顺畅运行良好: ```bash ssh -T git@github.com ``` 如果一切正常的话应该收到类似于"Hi username! You've successfully authenticated..."这样的反馈消息证明已经正确完成了全部准备工作[^2]。 #### 使用VSCode配合SSH管理远程仓库 假设现在想要利用Visual Studio Code这款集成开发环境软件来进行项目版本控制方面的管理工作那么还需要额外做一些调整使得IDE能够顺利读取之前定义好的认证机制从而简化日常操作体验。 - **启用SSH Agent Forwarding**: 修改本机`.ssh/config` 文件加入类似下面几行参数确保代理转发功能开启支持跨平台无缝切换不同主机间无需重复录入凭证资料。 ```plaintext Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes ``` - **启动SSH守护进程自动加载秘钥** 如果遇到反复弹窗请求允许继续通讯的情况可能是因为系统尚未激活后台监听程序的缘故所以有必要做进一步优化处理即让其随操作系统一起自举起来减少干扰因素影响效率表现 ```bash systemctl enable ssh systemctl start ssh ``` 以上步骤综合考虑到了从基础环境搭建直至高级特性运用等多个层面的内容覆盖范围较为全面希望能帮助解决实际应用场景中的各类需求问题[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值