尽管有有效的 SSH 密钥,仍无法将 git 存储库推送到 Heroku

2023-12-31

有很多堆栈文章引用了与我收到的相同的错误消息。

我在另一台计算机上浏览了整个 heroku 设置文档,一切都运行良好。不知道为什么这个不起作用,但我需要它。

当我跑步时:

> git push -v heroku master

Pushing to [email protected] /cdn-cgi/l/email-protection:lit-tor-7969.git
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Stack 上的所有解决方案都涉及重置 ssh 密钥,我相信 ssh 密钥没问题。我在 Macos 上运行:

heroku keys:clear
heroku keys:add

所以在我看来,git 使用的是 /Users/bishopz/.ssh 密钥,而不是我在存储库文件夹中手动生成的密钥。

除了下面的答案之外,这篇文章似乎还提供了很多见解:由于密钥指纹而无法推送到 Heroku https://stackoverflow.com/questions/8786564/cannot-push-to-heroku-because-key-fingerprint

我尝试完全删除 .ssh 目录。我跑了

heroku keys:clear
ssh-add -D #to remove all ssh identities
ssh-keygen -t rsa -C "[email protected] /cdn-cgi/l/email-protection" -f  ~/.ssh/id_rsa_heroku
ssh-add ~/.ssh/id_rsa_heroku
heroku keys:add ~/.ssh/id_rsa_heroku.pub
git push heroku master

现在得到:

!  Your key with fingerprint 27:5f:64:4e:2e:f0:41:5b:62:a9:95:d2:02:df:27:85 is not authorized to access lit-tor-7969.
fatal: The remote end hung up unexpectedly

回应

ssh -vvv [email protected] /cdn-cgi/l/email-protection

is now:

debug1: Host 'heroku.com' is known and matches the RSA host key.
debug1: Found key in /Users/bishopz/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Offering RSA public key: /Users/bishopz/.ssh/id_rsa_heroku
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to heroku.com ([50.19.85.132]:22).

感谢任何帮助,如果有人可以发布对我有用的答案,我将开始新的赏金。


这个问题实际上不是关于 git 而是关于 ssh。 :)

Heroku 使用 git,而 git 使用 ssh,只允许通过公钥进行身份验证。 (但我认为这已经很清楚了。)

heroku keys:add将把公钥发送到heroku。除非您指定显式密钥,否则它将使用~/.ssh/id_[rd]sa.pub.

要成功进行身份验证,您需要提供匹配的私钥。除非另有说明,ssh 将使用~/.ssh/id_[rd]sa,但如果权限太宽松,它会拒绝读取。 (看man ssh部分文件了解详细信息。)

检查权限是否正常的一个简单方法是将密钥添加到代理中:ssh-add ~/.ssh/id_[rd]sa

这应该将密钥添加到代理(使用ssh-add -L)或抱怨错误的权限。 (如果一开始没有代理运行,您可以使用“ssh-agent bash”启动代理。)

将密钥添加到代理后,代理将负责身份验证,并且您的 git 应该能够毫无问题地连接。 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尽管有有效的 SSH 密钥,仍无法将 git 存储库推送到 Heroku 的相关文章

  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • git 显示已添加到 gitignore 的文件中的更改?

    我已经将 log2 文件夹和 main js 文件添加到 gitignore 如屏幕截图所示 但即使执行后git rm cached r我仍然可以看到 git 正在检测 main js 和 log2 文件夹内文件的更改 怎么会 这些的常见问
  • Git:发送电子邮件而不提交

    我有一个项目 我做了更改 并想使用 git send email 功能将它们发送给另一个用户 我发现它可以通过发送补丁来工作 由git format patch每次提交 是否可以只发送diff的 我不想先提交 然后发送补丁 是否有gitfo
  • Slack + Heroku:每当我的 Heroku 应用程序关闭时向 slack 发送通知

    我有一个 Heroku 应用程序 每当我在 Heroku 上部署时 我在 Slack 的生产频道上就会收到一条通知 我想对我的 Heroku 应用程序因任何原因关闭时遵循相同的程序 有什么推荐的方法吗 None
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • 如何合并两个连续的 git 存储库

    我有一个相当独特的情况 我有一个名为 Project1 的存储库 我在其中工作了一些时间 几个月 一年后 我创建了存储库 Project1 Again 从 Project1 停止的地方开始 现在 我希望修订历史记录是连续的 因此我希望它们合
  • 在 Windows 7 上的 Sourcetree 中比较 Word docx 文件

    我一直在尝试获取在 Windows 7 上的 Sourcetree 中工作的 Word docx 文件的文本差异 我已按照此处的说明进行操作将 Microsoft Word 与 git 结合使用 http blog martinfenner
  • 如何将工作树与提交进行比较?

    我在用着 git diff mycommit 用于比较我的工作树mycommit 但它似乎忽略当前索引中不存在的文件 您可以按如下方式重现它 git init echo A gt A txt git add git commit m A g
  • Git 将一个分支合并到所有其他分支中

    我知道这个问题已经在这里被问过 https stackoverflow com questions 2329716 merging changes from master into all branches using git https
  • 如何使用 Git 跟踪目录而不是文件?

    我最近开始使用 Git 但只有一件事遇到了麻烦 如何在不跟踪目录内容的情况下跟踪目录 例如 我正在开发的网站允许上传 我想跟踪上传目录 以便在分支等时创建它 但显然不是其中的文件 在开发分支中的测试文件或主控中的真实文件 在我的 gitig
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • Git 2.2.x 无缘无故更新旧包文件的时间戳

    Git 2 2 0 和 2 2 1 似乎修改了旧的时间戳 git objects pack pack pack偶尔会无缘无故地文件 它只是改变时间戳 内容是相同的 调试这一点很困难 因为它似乎很少进行更改 我在 2 2 0 之前的任何 Gi
  • Git 到 TFS 源代码管理迁移

    我想看看 TFS 如何为我的命令工作 所以我想将我们当前的 GIT 存储库移动到 TFS 数据库 我们使用 GIT 来获得普遍的分支支持 因此我想使用 TFS 2010 来解决该问题 现在的问题是 如何将 GIT 存储库导出到 TFS 显然
  • 无法通过 Git Bash 克隆 git 存储库

    在尝试使用克隆存储库时git clone 它显示以下错误 致命 无法访问 https github com microsoft c9 python getting started git https github com microsoft
  • 除非我在项目目录中,否则 Git 不会显示日志

    我正在尝试打电话git log当我在不同的目录中时 我经过的位置 git is git log Users Leica proj1 但它说 不是 git repo 如果我cd进入这个目录 就可以正常工作了 cd Users Leica Pr
  • Eclipse Git 关键字扩展

    每次我检查 git hub 服务器的源代码时 我都需要更新源代码修订关键字 version date 等 你可能知道 Git 中的主要问题是你无法使用以下命令修改文件 提交后有关提交的信息 因为 Git 首先对文件进行校验 基本上我想要实现
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • git 是否有任何静态接口?

    我一直在寻找一个宁静的 git api 但似乎没有找到 我得到的最接近的是 Github 的 api 来访问一些存储库信息 还有其他的实施吗 Orion Git API http wiki eclipse org Orion Server
  • git 2.32 git push -u origin master 没有任何反应

    I ve starting to use git github and I m stucked on how to push my codes to github I m following some tutorials and when
  • VSTS:在构建过期的情况下自动变基/合并和重新排队构建验证门

    我们最近对 PR 上的构建验证门进行了更改 这样 如果另一个提交在当前 PR 完成之前进入主分支 则构建会 立即 过期 看here https stackoverflow com questions 49418800 vsts invali

随机推荐

  • Python 多处理陷入 selenium 困境

    所以我有代码可以启动 4 个 selenium chrome 驱动程序并从网页上的元素中抓取数据 代码可以简化为这样 import json import multiprocessing as mp from selenium import
  • 实时向点云添加新点 - Open3D

    我正在使用 Open3D 在 Python 中可视化点云 本质上 我想做的是以编程方式向点云添加另一个点 然后实时渲染它 这是我到目前为止所拥有的 我找不到任何解决方案 在下面的代码中 我展示了一种可能的解决方案 但它并不有效 第一个窗口关
  • 使用 dgemm/dgemv 的矩阵向量积

    将 Lapack 与 C 结合使用让我有点头疼 我发现为 fortran 定义的函数有点奇怪 所以我尝试在 C 上创建一些函数 以便我更容易阅读正在发生的事情 不管怎样 我没有让矩阵向量乘积按我的意愿工作 这是该程序的一个小示例 小matl
  • 在 SwiftUI 中显示“UIActivityViewController”

    我想让用户能够共享位置 但我不知道如何显示UIActivityViewController在 SwiftUI 中 基本实现UIActivityViewController in SwiftUI is import UIKit import
  • 在mysql中像查询一样搜索带有撇号的记录

    我有类似这样的 mysql 查询 SELECT from users where username LIKE test s 并且有users带有字段名称的数据库表username 并且有 1 条记录users带有用户名的表test s现在我
  • 如果释放不干净的设备上下文会发生什么?

    通常 如果程序将一个对象选择到设备上下文中 或者更改其属性 则应该在释放设备上下文之前将它们更改回来 如果不这样做会发生什么 假设我这样做 HDC hdc GetDC some window SelectObject hdc some fo
  • Nokogiri 抓取带有格式和链接标签的文本,

    如何使用 Nokogiri 递归捕获带有格式标记的所有文本 div This is text in the TD with strong strong strong tags p This is a child node with b bo
  • 请解释一下 Option 的 orNull 方法的使用

    Scala 的 Option 类有一个orNull方法 其签名如下所示 orNull A1 gt A implicit ev lt lt Null A1 A1 我对隐含的东西感到困惑 有人可以解释一下如何使用它 最好是举个例子吗 scala
  • 在 Python 中使用多个代码文件和文件夹

    我是 Python 新手 还没有找到在多个代码文件和文件夹中分离代码的简单方法 我今天所做的是 为每个文件夹创建一个 init py文件 有时它是空的 我不知道为什么要这样做 但这似乎是必要的 这是与使用 C 的第一个区别 第二个区别是 对
  • facebook FB.Event.subscribe('auth.authResponseChange') 不起作用

    对于我的一生 我无法让 Event subscribe auth auth Response Change 工作 请参阅下面的代码 div div
  • 如何在C#中使用WCF REST服务?

    我的合同详细信息如下 我使用 Json 响应和请求格式 还使用 POST 方法 如何用 C 编写客户端来使用此服务 OperationContract WebInvoke UriTemplate RESTJson Sample1 Sampl
  • Firebase 身份验证 Javascript:用于重定向待处理凭据的 setCookie

    我正在尝试使用多重身份验证进行链接singinwithredirect 我抓住了错误 credential并使用JSON stringify通过 cookie 传递它 从那里 我使用以下方法将其转换回对象JSON parse 但是当我尝试将
  • 富文本 (YUI) 编辑器在 IE11 上损坏

    我正在运行 Internet Explorer 11 和 YUI 2 富文本编辑器似乎无法正常工作 有关更多详细信息 请参阅随附的屏幕截图 有什么想法如何在 IE11 下解决这个问题吗 由于IE改变了它的User Agent YUI 2 9
  • Android Studio 初始化“com.intellij.util.net.ssl.CertificateManager”时发生致命错误

    当我将Android Studio 3 0升级到3 1时出现这个问题 java lang RuntimeException com intellij ide plugins PluginManager StartupAbortedExcep
  • 使用 Python 检测 C 文件中的递归

    我需要检测相当大 5 15 000 的 C 不是 C 文件集中的直接和间接递归 文件已经过预处理 出于安全原因 该代码相当 老派 因此没有诸如函数指针之类的奇特东西 只有传递变量的函数和一些执行相同操作的函数宏 检测递归的最自然的方法是创建
  • 实体框架-“不允许新事务,因为会话中还有其他线程正在运行”

    我在尝试保存实体框架中的更改时收到以下错误 System Data SqlClient SqlException 不允许新事务 因为会话中还有其他线程正在运行 我已经看到了这个问题的各种答案 但我似乎无法让它们中的任何一个工作 基本上我在存
  • 增加 Azure Api 应用程序中的最大请求长度

    我创建了一个 Azure Api 应用程序 将用它来上传文件 这些文件将 gt 4mb 因此需要增加最大请求长度 我已将以下内容添加到 Web config
  • 取消 UNNotificationRequest

    Because UILocalNotification现已弃用 我将代码移至新版本UNNotificationRequest API 它指出 取消本地通知 在 iOS 10 0 中已弃用 使用 UserNotifications Frame
  • 缺少 git 提交

    在工作中 这种情况经常发生 有人不小心将一些东西提交到 master 而不是预期的功能分支 然后这个人尝试解决它 结果却突然消失了 我进行了仔细的搜索 但找不到任何文档来解释为什么会发生这种情况 或者如何纠正这种情况 以下是重现步骤 git
  • 尽管有有效的 SSH 密钥,仍无法将 git 存储库推送到 Heroku

    有很多堆栈文章引用了与我收到的相同的错误消息 我在另一台计算机上浏览了整个 heroku 设置文档 一切都运行良好 不知道为什么这个不起作用 但我需要它 当我跑步时 gt git push v heroku master Pushing t
Powered by Hwhale