git配置多个SSH

2026-04-11 10:161阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

多个git的SSH映射

写的这个 SSH 配置,就是为了让:公司仓库、个人仓库、甲方仓库,在不同电脑上自动识别身份,不用手动切换、不会串号、不会权限报错

真正解决的 4 个真实痛点:

  1. 公司 Gitee(企业加密仓库) 和 个人 Gitee 不能共存
  2. 提交代码不会串身份(公司 ↔ 个人 自动切换)
  3. 家里电脑 ↔ 上班电脑 同步 Git 地址完全不影响.并且我重装系统直接复制这个SSH文件就好了
  4. VS Code Git 差、不想用 SourceTree

或者也可以试用其他的git工具或者git功能强大的编辑器

基础文件结构(Windows环境)

放到C:\Users\用户.ssh\config(不需要后缀)

# gitee:zhang 配置 Host gitee-zhang HostName gitee.com User git IdentityFile C:\Users\Z2864\.ssh\demo1 # 账号1的私钥路径 IdentitiesOnly yes # 强制使用指定私钥,解决多密钥冲突 PreferredAuthentications publickey # 优先公钥认证 StrictHostKeyChecking no # 可选:避免首次连接的主机验证提示 # GitHub:github-zhang 配置 Host github.com HostName github.com User git IdentityFile C:\Users\Z2864\.ssh\demo2 # 账号2的私钥路径 IdentitiesOnly yes # 强制使用指定私钥,解决多密钥冲突 PreferredAuthentications publickey # 优先公钥认证 StrictHostKeyChecking no # 可选:避免首次连接的主机验证提示

步骤 1:检查关键文件是否存在(PowerShell 中执行)

# 1. 检查主SSH配置文件(通常是~/.ssh/config) ls ~/.ssh/config # 正常输出:能看到config文件(包含你贴的这些配置) # 2. 检查被Include的配置文件(如果有) ls C:\Users\Z2864\.ssh\config # 如果这个文件不存在,可忽略(重点是~/.ssh/config里的配置) # 3. 检查两个私钥文件是否存在(核心!) ls C:\Users\Z2864\.ssh\demo1 ls C:\Users\Z2864\.ssh\demo2 # 正常输出:能看到这两个私钥文件,否则需要恢复备份的私钥

步骤 2:恢复私钥文件(如果缺失)

#Z2864 要修改成自己的 本来是写了一个自动获取的但是 不允许发 # F = 完全控制权限 # (OI)(CI) = 权限会继承到子文件夹和子文件 icacls C:\Users\Z2864\.ssh\demo1 /inheritance:r icacls C:\Users\Z2864\.ssh\demo1 /grant:r Z2864:F // 修改Z2864 icacls C:\Users\Z2864\.ssh\demo2 /inheritance:r icacls C:\Users\Z2864\.ssh\demo2 /grant:r Z2864:F // 修改Z2864 # 给.ssh目录设置权限(可选,但建议做) icacls C:\Users\Z2864\.ssh /inheritance:r icacls C:\Users\Z2864\.ssh /grant:r Z2864:(OI)(CI)F // 修改Z2864

步骤 3:启动 SSH 代理并加载私钥

# 1. 以管理员身份启动SSH代理服务(确保开机自启) Set-Service ssh-agent -StartupType Automatic Start-Service ssh-agent # 2. 加载两个私钥到SSH代理 ssh-add C:\Users\Z2864\.ssh\demo1 ssh-add C:\Users\Z2864\.ssh\demo2 # 3. 验证密钥是否加载成功(能看到两个密钥的指纹) ssh-add -l

步骤 4:测试两个 Gitee 账号的 SSH 连接

# 测试账号1:gitee-demo1(对应demo1密钥) ssh -T gitee-demo1 # 测试账号2:gitee-demo2(对应demo2密钥) ssh -T gitee-demo2 ✅ 成功输出(每个账号测试都会返回对应 Gitee 用户名): Hi 你的Gitee用户名! You've successfully authenticated, but GITEE.COM does not provide shell access.

大致是这个思路这个是我去年整理的 等我下次再重装系统如果哪里不对我再补充

(电脑必须干净 如果C盘太多或者有很多我不认识的会让我没有安全感 我就会重装系统 之前有过一个月重装两次的)

网友解答:
--【壹】--:

我把ssh私匙直接放到keepass里,在哪里都可以用,什么环境都行。


--【贰】--:

确实 这个方案给出了挺多的解决方案 确实方案好一些 我再重装电脑 我配置尝试下


--【叁】--:

git其实适合用 https://www.cnblogs.com/librarookie/p/15697181.html 这个额方式,例如同时有多个gitee 或者 多个github账号这样的

仅供参考

标签:纯水树洞
问题描述:

多个git的SSH映射

写的这个 SSH 配置,就是为了让:公司仓库、个人仓库、甲方仓库,在不同电脑上自动识别身份,不用手动切换、不会串号、不会权限报错

真正解决的 4 个真实痛点:

  1. 公司 Gitee(企业加密仓库) 和 个人 Gitee 不能共存
  2. 提交代码不会串身份(公司 ↔ 个人 自动切换)
  3. 家里电脑 ↔ 上班电脑 同步 Git 地址完全不影响.并且我重装系统直接复制这个SSH文件就好了
  4. VS Code Git 差、不想用 SourceTree

或者也可以试用其他的git工具或者git功能强大的编辑器

基础文件结构(Windows环境)

放到C:\Users\用户.ssh\config(不需要后缀)

# gitee:zhang 配置 Host gitee-zhang HostName gitee.com User git IdentityFile C:\Users\Z2864\.ssh\demo1 # 账号1的私钥路径 IdentitiesOnly yes # 强制使用指定私钥,解决多密钥冲突 PreferredAuthentications publickey # 优先公钥认证 StrictHostKeyChecking no # 可选:避免首次连接的主机验证提示 # GitHub:github-zhang 配置 Host github.com HostName github.com User git IdentityFile C:\Users\Z2864\.ssh\demo2 # 账号2的私钥路径 IdentitiesOnly yes # 强制使用指定私钥,解决多密钥冲突 PreferredAuthentications publickey # 优先公钥认证 StrictHostKeyChecking no # 可选:避免首次连接的主机验证提示

步骤 1:检查关键文件是否存在(PowerShell 中执行)

# 1. 检查主SSH配置文件(通常是~/.ssh/config) ls ~/.ssh/config # 正常输出:能看到config文件(包含你贴的这些配置) # 2. 检查被Include的配置文件(如果有) ls C:\Users\Z2864\.ssh\config # 如果这个文件不存在,可忽略(重点是~/.ssh/config里的配置) # 3. 检查两个私钥文件是否存在(核心!) ls C:\Users\Z2864\.ssh\demo1 ls C:\Users\Z2864\.ssh\demo2 # 正常输出:能看到这两个私钥文件,否则需要恢复备份的私钥

步骤 2:恢复私钥文件(如果缺失)

#Z2864 要修改成自己的 本来是写了一个自动获取的但是 不允许发 # F = 完全控制权限 # (OI)(CI) = 权限会继承到子文件夹和子文件 icacls C:\Users\Z2864\.ssh\demo1 /inheritance:r icacls C:\Users\Z2864\.ssh\demo1 /grant:r Z2864:F // 修改Z2864 icacls C:\Users\Z2864\.ssh\demo2 /inheritance:r icacls C:\Users\Z2864\.ssh\demo2 /grant:r Z2864:F // 修改Z2864 # 给.ssh目录设置权限(可选,但建议做) icacls C:\Users\Z2864\.ssh /inheritance:r icacls C:\Users\Z2864\.ssh /grant:r Z2864:(OI)(CI)F // 修改Z2864

步骤 3:启动 SSH 代理并加载私钥

# 1. 以管理员身份启动SSH代理服务(确保开机自启) Set-Service ssh-agent -StartupType Automatic Start-Service ssh-agent # 2. 加载两个私钥到SSH代理 ssh-add C:\Users\Z2864\.ssh\demo1 ssh-add C:\Users\Z2864\.ssh\demo2 # 3. 验证密钥是否加载成功(能看到两个密钥的指纹) ssh-add -l

步骤 4:测试两个 Gitee 账号的 SSH 连接

# 测试账号1:gitee-demo1(对应demo1密钥) ssh -T gitee-demo1 # 测试账号2:gitee-demo2(对应demo2密钥) ssh -T gitee-demo2 ✅ 成功输出(每个账号测试都会返回对应 Gitee 用户名): Hi 你的Gitee用户名! You've successfully authenticated, but GITEE.COM does not provide shell access.

大致是这个思路这个是我去年整理的 等我下次再重装系统如果哪里不对我再补充

(电脑必须干净 如果C盘太多或者有很多我不认识的会让我没有安全感 我就会重装系统 之前有过一个月重装两次的)

网友解答:
--【壹】--:

我把ssh私匙直接放到keepass里,在哪里都可以用,什么环境都行。


--【贰】--:

确实 这个方案给出了挺多的解决方案 确实方案好一些 我再重装电脑 我配置尝试下


--【叁】--:

git其实适合用 https://www.cnblogs.com/librarookie/p/15697181.html 这个额方式,例如同时有多个gitee 或者 多个github账号这样的

仅供参考

标签:纯水树洞