【问题标题】:Heroku / Elixir Phoenix Framework - host key verification failing for private Gitlab reposHeroku / Elixir Phoenix 框架 - 私有 Gitlab 存储库的主机密钥验证失败
【发布时间】:2017-05-22 17:53:00
【问题描述】:

我正在将 Phoenix 应用程序部署到 Heroku,但其中一些依赖项位于私有 Gitlab 存储库中,我无法通过 SSH 访问它们。当我尝试向上推送我的应用程序时,我遇到了与依赖项之一相关的以下错误(我通常在本地机器上拥有 SSH 访问权限):

remote: -----> Fetching app dependencies with mix
remote: * Getting cool_dep (git@gitlab.com:group/cool_dep.git)
remote: Host key verification failed.
remote: fatal: Could not read from remote repository.
remote: 
remote: Please make sure you have the correct access rights
remote: and the repository exists.

这就是我到目前为止所做的 - 如果有人能告诉我我遗漏了什么或做错了什么,我将不胜感激......

最后,当我运行 git subtree push --prefix local_app cool-app-12345 master 时,它开始加载,但在遇到第一个私有依赖时失败。

谁能澄清我在这里遗漏了什么?为什么主机密钥验证失败?

  • 还值得注意 - 我通过基​​本的$ git clone ... 测试了公钥/私钥对,并且效果很好,所以密钥关系是有效的......当 Heroku 参与其中时,这似乎是一个问题。

【问题讨论】:

    标签: heroku ssh elixir gitlab phoenix-framework


    【解决方案1】:

    我提取了 buildpack 的源代码并开始四处寻找 - 我发现我正在设置的 SSH_HOST 配置变量 - git@gitlab.com - 没有找到,它只是默认为单个 git@github.com硬编码的主机...文档说您可以添加其他主机,但它似乎对我不起作用。

    我能够通过克隆 buildpack 并将 bin/compile 中的第 13 行替换为

    来解决此问题
    ssh_hosts=${SSH_HOSTS:-"git@gitlab.com"}
    

    因此,如果您的私人存储库位于 Github 中,您可能没问题...但如果它们位于不同的主机上,您可能需要获取 buildpack 代码并将其托管在您自己的带有自定义主机的存储库中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      相关资源
      最近更新 更多