You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Deploy key完成鉴权以调用Github API?

核心前提说明

首先,Github API 默认不直接使用普通Deploy key作为授权凭证,但你可以通过SSH签名认证的方式,用已有Deploy key对应的SSH私钥完成API调用授权,不需要依赖PAT。

具体实现步骤
  • 第一步:确认你的Deploy key对应私钥的格式,优先使用RSA、Ed25519类型的私钥,确保本地可以正常读取私钥文件
  • 第二步:构造API请求时,按照Github SSH认证规范,对请求的指定字段用私钥做签名,生成认证头
  • 第三步:把生成的SSH认证头加入请求头后调用API即可
可用Python模块

推荐使用 requests + cryptography 组合手动实现签名逻辑,也可以直接用封装好的 ghapi 模块,它原生支持SSH密钥认证方式,不需要自己实现复杂的签名流程。

代码示例(基于ghapi)

首先安装依赖:
pip install ghapi cryptography

示例代码:

from ghapi.core import GhApi
from ghapi.auth import load_ssh_key

# 读取本地Deploy key对应的私钥文件,有密码的私钥可以传入密码参数
private_key = load_ssh_key("/path/to/your/private_key")
# 初始化API实例,用SSH私钥认证
api = GhApi(auth=private_key)

# 示例:调用获取仓库信息的API
repo_info = api.repos.get(owner="仓库所属用户名", repo="仓库名称")
print(repo_info)
注意事项
  • 你的Deploy key需要有对应操作的权限,比如要调用写入类API,需要提前给Deploy key开启写权限
  • 私钥文件请做好权限控制,避免泄露
  • 如果是部署在服务器上,建议把私钥存放在安全的密钥管理服务中,不要明文写在代码里

内容的提问来源于stack exchange,提问作者Steve Roger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:39:00