返回顶部
g

github-private-repo-ssh-routingGitHub私库SSH路由

Diagnose and manage SSH keys, host aliases, and Git remotes for GitHub private repositories in multi-repo environments. Use when deploy keys collide, a machine manages multiple private repos, automation or backup scripts push to GitHub, or errors like "Permission denied (publickey)" / "Repository not found" appear despite the repo existing.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
270
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

github-private-repo-ssh-routing

GitHub 部署密钥路由

将 GitHub 私有仓库访问视为路由问题,而不仅仅是 Git 问题。

核心规则

  • - 每个私有仓库使用一个部署密钥,除非有意选择机器用户。
  • 每个密钥使用一个 SSH 主机别名。
  • 明确将每个仓库的远程地址指向正确的别名。
  • 当存在多个部署密钥时,不要依赖通用的 Host github.com 配置。
  • 先验证 SSH,再验证 Git,最后推送。
  • 如果涉及自动化,同时修复实时仓库的远程地址和写入该地址的配置/脚本源。

标准模式

ssh
Host github.com-backup
HostName github.com
User git
IdentityFile ~/.ssh/openclawbackuped25519
IdentitiesOnly yes

bash
git remote set-url origin git@github.com-backup:OWNER/REPO.git

当机器上有多个私有 GitHub 仓库、多个 SSH 密钥或任何重复的 GitHub 自动化任务时,使用此技能。

快速排查

如果需要最快的排查路径:

  1. 1. 阅读 references/symptoms.md 并匹配确切的错误信息。
  2. 阅读 references/patterns.md 并对比当前的别名和远程地址布局。
  3. 仅在身份模型本身仍未确定时阅读 references/decision-guide.md。
  4. 仅在脚本、备份流程或配置值可能重写远程地址时阅读 references/openclaw-automation.md。

工作流程

1. 确定实际使用的仓库和远程地址

检查本地仓库路径、当前远程地址,以及失败操作来自:

  • - 交互式仓库命令
  • 备份/同步脚本
  • 存储仓库 URL 的配置文件
  • 定时任务/自动化作业

如果仓库路径和配置源不同,不要将它们视为同一修复对象。

2. 确定密钥路由层

阅读 references/patterns.md 了解标准别名布局。
当操作系统特定的密钥位置或混合 Windows/WSL/macOS 行为可能产生影响时,阅读 references/key-storage-by-system.md。

询问:

  • - 仓库当前使用哪个 SSH 别名?
  • 该别名选择了哪个密钥?
  • 该密钥是否确实被授权用于此仓库?
  • 是否有宽泛的 Host github.com 规则劫持了流量?

3. 根据症状诊断

在更改任何内容之前,阅读 references/symptoms.md 并匹配确切的失败字符串。

4. 选择正确的身份模型

当用户需要在以下选项之间做决定时,阅读 references/decision-guide.md:

  • - 部署密钥
  • 个人 SSH 密钥
  • 机器用户

当问题实际上是关于 SSH 路由的边界和 GitHub API 权限的起点时——特别是对于 PR 合并自动化、发布创建或细粒度 PAT 与部署密钥的决策——阅读 references/identity-model-boundaries.md。

5. 检查自动化相关的偏差

当仓库被 OpenClaw 备份/恢复、插件、定时任务或配置驱动的工作流使用时,阅读 references/openclaw-automation.md。

6. 按安全顺序修复

  1. 1. 修复或添加 SSH 别名。
  2. 使用 ssh -G <别名> 验证。
  3. 使用 ssh -T git@<别名> 测试。
  4. 更新仓库远程 URL。
  5. 更新仍写入旧远程地址的配置/脚本源。
  6. 使用 git ls-remote origin 验证。
  7. 然后才能推送或拉取。

最小命令集

bash
ls -la ~/.ssh
sed -n 1,200p ~/.ssh/config
git remote -v
ssh -G <主机别名> | sed -n 1,40p
ssh -T git@<主机别名>
git ls-remote origin

捆绑脚本

要对一个本地仓库进行只读审计,运行:

bash
scripts/audit-routing.sh /path/to/repo

该脚本会汇总:

  • - 仓库远程地址
  • 从 origin 推断的 SSH 别名
  • ~/.ssh 文件和权限
  • ~/.ssh/config 预览
  • 检测到的别名的 ssh -G 摘要

在编辑前使用该脚本进行检查。

需要报告的内容

  • - 一句话说明根本原因
  • 失败是本地配置问题、GitHub 权限问题,还是两者兼有
  • 最小的修复方案
  • 具体更改了什么

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 github-private-repo-ssh-routing-1776118778 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 github-private-repo-ssh-routing-1776118778 技能

通过命令行安装

skillhub install github-private-repo-ssh-routing-1776118778

下载

⬇ 下载 github-private-repo-ssh-routing v1.0.1(免费)

文件大小: 9.92 KB | 发布时间: 2026-4-15 12:54

v1.0.1 最新 2026-4-15 12:54
Add guidance for deploy key vs fine-grained PAT boundaries, PR/release automation decisions, and OpenClaw-specific identity model selection.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部