git 多账号配置
在一台电脑上配置多个不同的 ssh key
前言#
如果拥有多个Git远程仓库,尤其是其中一个是工作中使用的仓库,只使用一个ssh key安全性很低,建议为不同Git远程仓库配置不同的ssh key。
预操作#
非必须,但建议
-
取消git全局设置
git config --global --unset user.name git config --global --unset user.email
-
为每个项目单独配置 user.name 和 user.email
git config user.name "yourname" git config user.email "youremail"
已经在本地存在的项目,只需再配置一下 user.name 和 user.email 即可,不需要额外的操作。
注意 :这里配置的 name 和 email 要针对具体项目来配置,对应不同远程仓库的项目 name 和 email 可能并不一致。
SSH配置#
-
第一步 生成ssh key
ssh-keygen -t rsa -f ~/.ssh/filename -C xxx@gmail.com
这里有两个参数,
filename
和xxx@gmail.com
,前者是生成ssh密钥文件的文件名,不同远程仓库取不一样的名字,比如id_rsa_work
、id_rsa_github
、id_rsa_gitee
等,后者是与远程仓库地址对应的邮箱,每个也可能不一样。按照以上命令,生成多个ssh的密钥,并把对应的公钥(如
id_rsa_github.pub
文件里面key)添加到相应远端。 -
第二步 添加config文件
在.ssh目录下,新建
config
文件(文件名就是config
),设定不同git服务器的key。第一项是默认项。这里重点是配置
Host
字段和IdentityFile
字段,前者对应git服务器域名,后者为对应的ssh密钥文件。# github Host github.com HostName github.com User github IdentityFile ~/.ssh/id_rsa_github # gitee 开源中国 Host gitee.com HostName gitee.com User gitee IdentityFile ~/.ssh/id_rsa_gitee
设置完成之后,可以用
ssh -T git@github.com
命令检查配置是否成功。
在 github/gitlab 等网站上添加 ssh 公钥#
将生成的 xxx.pub
中的内容,复制到网站 ssh 配置中。
问题#
检查是否使用的是 powershell 等 windows 的命令行工具,应该使用 git bash 这个原生的命令行工具。
参考文献#
作者:
J.晒太阳的猫
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具