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

如何为Azure Databricks配置SSH私钥以安装GitHub私有仓库依赖

为Azure Databricks配置SSH私钥访问GitHub私有仓库的最优方案

方案1:使用Databricks Secrets管理SSH私钥(推荐)

这是最安全且符合Databricks平台最佳实践的方案,可避免明文暴露密钥:

  • 创建密钥范围:在Databricks工作区的Secrets页面新建密钥范围,配置严格的权限控制(仅允许集群管理员等必要角色访问)。
  • 存入SSH私钥:将你的SSH私钥内容(剔除多余换行符)作为secret存入该范围,命名例如github_ssh_private_key。
  • 集群初始化脚本配置:
    在集群的初始化脚本中添加以下命令,从Secrets读取私钥并完成SSH环境配置:
    # 创建并配置.ssh目录权限
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    
    # 读取密钥并写入id_rsa文件
    databricks secrets get --scope <你的密钥范围名称> --key github_ssh_private_key > ~/.ssh/id_rsa
    chmod 600 ~/.ssh/id_rsa
    
    # 添加GitHub到已知主机,跳过首次连接确认
    ssh-keyscan github.com >> ~/.ssh/known_hosts
    chmod 644 ~/.ssh/known_hosts
    
  • 验证:集群启动后,可在笔记本中执行ssh -T git@github.com测试连接,确认认证成功。

方案2:用GitHub个人访问令牌(PAT)替代SSH(更简洁)

若不想配置SSH,用HTTPS结合PAT是更轻量化的替代方案,无需管理SSH密钥:

  • 在GitHub生成带repo权限的PAT。
  • 将PAT存入Databricks Secrets(步骤同方案1),命名例如github_pat。
  • 修改wheel依赖的仓库地址:
    git+https://{{secrets/<密钥范围名>/github_pat}}@github.com/<用户名>/<私有仓库名>.git@<目标分支/标签>
    
  • 或在作业的安装命令中直接引用:
    pip install git+https://$(databricks secrets get --scope <密钥范围名> --key github_pat)@github.com/<用户名>/<私有仓库名>.git
    

方案3:作业级别临时配置(仅测试用,生产禁用)

仅用于临时验证,存在密钥泄露风险,生产环境绝对禁止:

  • 在作业的初始化命令中直接注入私钥:
    echo "<你的SSH私钥内容>" > ~/.ssh/id_rsa
    chmod 600 ~/.ssh/id_rsa
    ssh-keyscan github.com >> ~/.ssh/known_hosts
    

注意:所有涉及密钥的操作需遵循最小权限原则,限制无关人员访问密钥范围及集群配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:20:46