PHP Github Pull 脚本错误“权限被拒绝(公钥)”

2024-05-23

我已经设置了一个 PHP 脚本来执行 GitHub 拉取:

这包含在我的 Github 文件夹中/home/mysite/public_html/github

github_pull.php

<?php
echo `git pull 2>&1`;
?>

我的服务器已经有 SSH 公钥,就像我执行git pull从航站楼出发:

ssh [email protected] /cdn-cgi/l/email-protection
cd public_html/github
git pull

这工作成功(但是我必须先输入 rsa 密钥的密码) 更新:不再需要密码(见评论)

然而,当我跑步时github_pull.php我收到以下错误: 权限被拒绝(公钥)。 fatal:远端意外挂断

SSH 密钥包含在/home/mysite/.ssh/id_rsa

当我跑步时

<?php echo `whoami`;

它输出mysite


正如评论所述,首先尝试 https 网址:

 ssh [email protected] /cdn-cgi/l/email-protection
 cd public_html/github
 git remote set-url origin https://github.com/username/reponame
 git pull

这比修改 ssh 密钥容易得多,尤其是当它们受密码保护时。


If you must使用 ssh 密钥,那么你必须知道default密钥的位置是:

~/.ssh/id_rsa(.pub)

如果执行脚本的用户是 'mysite',然后它会寻找~mysite/.ssh/id_rsa.
并且您需要确保ssh-agent正在运行为mysite用户。这就是为什么一开始使用私钥尝试会更容易not密码保护。

如果您的 ssh 密钥在其他地方,那么您将需要:

~mysite/.ssh/config

在该配置文件中,如此处图示 https://stackoverflow.com/a/14423667/6309,您可以指定要使用的密钥的位置和名称。

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

PHP Github Pull 脚本错误“权限被拒绝(公钥)” 的相关文章

随机推荐

  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • 使用 WebClient C# 添加请求标头

    我有以下代码 用于将网页下载到字节数组中 然后使用 Response Write 打印它 WebClient client new WebClient byte data client DownloadData requestUri Ini
  • 如何将工作表和范围作为变量传递?

    我想在子例程之间传递工作表的名称和范围 以下抛出 下标超出范围 错误 Sub This x Sheet1 y D3 MsgBox x Range y Value End Sub This is 我的项目资源管理器的示例 https i st
  • NHibernate 和 DateTime 映射的问题

    我在查询时遇到问题 我在给定的范围内选择记录 时间跨度 我从中选择的列的类型为日期 我已经映射了这个 列作为 DateTime 属性 查询可以工作 但速度很慢 生成的查询如下所示 由NH分析器 http nhprof com select
  • 致命错误:libavcodec/avcodec.h 没有这样的文件或目录编译终止

    我正在尝试使用 gcc 执行tutorial01 c 并且 gcc 和tutorial01 c 以及 libavcodec 和 libavformat 及其关联文件位于同一文件夹中 它给了我这个错误 致命错误 libavcodec avco
  • 在正确的集合中创建索引

    我用 Index unique true 注释文档 如下所示 public class ADocumentWithUniqueIndex private static final long serialVersionUID 1L Index
  • R闪亮:基于checkboxgroupinput的子集数据

    我想根据复选框输入动态选择的列对数据进行子集 有什么方法可以使我的输入文件在我的代码中全局可用 以便可以方便地进行进一步的操作 以下是我的代码 Server R library shiny shinyServer function inpu
  • Javascript“this”在 IE 中丢失上下文

    以下在 firefox safari chrome 中工作正常 在 IE 中 this 似乎在 handleEvent 函数中丢失上下文 警报的结果是 object Window 这不是我想要的 当从handleEvent 输出时 this
  • 如何使用标准 JavaScript 在 CSS 转换结束后立即重新启动它?

    我构建了一种密码生成器 只要倒计时到期 它就会显示新密码 不幸的是 我只设法弄清楚如何运行我的代码一次 倒计时由一个简单的 CSS 过渡组成 我想保留它 因为它比我的其他尝试平滑得多 其中我尝试使用 JavaScript 重复更新宽度 va
  • 有 Mac 版的 IE 测试器吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • WKWebView在后台,几个奇怪的断言

    我想找出iOS中当前浏览器的userAgent 所以在 Xcode 创建的默认项目中我添加了 import ViewController h import
  • 如何在 ISO Prolog 中定义(和命名)相应的安全术语比较谓词?

    标准术语顺序 ISO IEC 13211 1 7 2 术语顺序 针对所有术语 包括变量 进行定义 虽然这有很好的用途 想想实施setof 3 这使得 8 4 术语比较中内置函数的许多其他干净且合乎逻辑的使用成为声明式噩梦 到处都是 imps
  • Elixir 用于列表、元组等的记录器

    我可以使用 Elixir 记录器来检查字符串 gt str string gt Logger info Here is a str info Here is a string 但是当我记录一个列表时 它看起来不太漂亮 gt list 1 2
  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • OWIN OnSendingHeaders 回调 - 读取响应正文

    这个问题与优秀有关answer https stackoverflow com a 17513249 1709870由优素福 我爱OnSendingHeaders打回来 我现在可以添加响应标头 而不必担心切换流 无论如何 这是我的问题 是否
  • 大于 2GB 的 Tensorflow 图

    我正在尝试优化一个大型张量流保存模型 其中包含 10MB saving model pb 和 16GB 变量 我尝试冻结我的图表并进行一些进一步的转换 我已按照步骤操作https medium com google cloud optimi
  • 大型跨平台软件项目的技巧/资源

    我将开始一个大型软件项目 涉及跨平台 GUI 和大量的数字运算 我计划用 C 和 CUDA 编写大部分应用程序后端 并用 Qt4 编写 GUI 我计划使用 Make 作为我的构建系统 这将是一个只有两名开发人员的项目 一旦我相对深入地了解它
  • 判断点是否在截锥体内

    我正在尝试找出确定一个点是否在截锥体内的最佳方法 我有一些工作 但不确定它是否太麻烦 也许我应该有一种更优雅 有效的方法来做到这一点 假设我想查明点 x 是否在截锥体内 一旦我知道了平截头体的 8 个点 4 个近点 4 个远点 的位置 我就
  • 如何使用 JAVA 代码以编程方式捕获线程转储?

    我想通过 java 代码生成线程转储 我尝试使用 ThreadMXBean 为此 但我没有以正确的格式获得线程转储 因为我们正在使用jstack命令 请任何人提供一些帮助 他们是否有其他方式获取线程转储 使用任何其他 API 我想要的线程转
  • PHP Github Pull 脚本错误“权限被拒绝(公钥)”

    我已经设置了一个 PHP 脚本来执行 GitHub 拉取 这包含在我的 Github 文件夹中 home mysite public html github github pull php 我的服务器已经有 SSH 公钥 就像我执行git