尽管 ssh 密钥存在,但 Gitlab Ci 上“主机密钥验证失败”

2023-12-21

“主机密钥验证失败。”在 Gitlab Ci 上运行“ssh名称@服务器”时

这是我的 gitlab_ci 的一部分,它应该登录到我的服务器并从存储库运行脚本:

script:
  - which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )
  - eval $(ssh-agent -s)
  - ssh-add <(echo -e "$SSH_PRIVATE_KEY")


  - echo "debug"
  - echo "$SSH_PRIVATE_KEY" # all is ok here, it'll be printed
  - echo "debug"


  # - here comes an error
  - (cat ./script/script1.sh) | ssh -t -t $SSH_USERNAME@$SSH_HOST

和错误:

  Host key verification failed.
  ERROR: Job failed: exit code 1

为什么会出现错误?变量已设置。

当我从本地计算机和 Gitlab 手动执行相同的操作时,私钥确实有效。


另外Git 错误:连接到远程存储库时“主机密钥验证失败” https://stackoverflow.com/q/13363553/6309,检查您的 .known_hosts 文件。

如果同一个私钥在本地工作,那可能是因为在本地,您的~/.ssh/known_hosts文件确实包括ssh_keyscan https://stackoverflow.com/a/29908140/6309您要连接的远程服务器的名称。
确保您的 GitLab CI 工作也如此。

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

尽管 ssh 密钥存在,但 Gitlab Ci 上“主机密钥验证失败” 的相关文章

  • 我的终端中的彩色、并排、内联 git diff 输出

    请注意 此问题不是该问题的重复问题 而是该问题的后续问题 当我执行 git diff 时 如何获得并排差异 https stackoverflow com questions 7669963 how can i get a side by
  • Git 存储库损坏(标头检查不正确;松散对象已损坏)

    昨天晚上我在写提交消息时遇到了电源故障 当我重新启动机器时 我无法完成提交 我跑了git reset 添加回更改的文件 然后再次尝试 得到 git commit error inflate data stream error incorre
  • 为什么我无法在 Windows 10 中将 notepad++ 设置为 git 提交编辑器?

    我知道这个问题已经被不止一次地提出和回答过 但我尝试了答案所建议的至少十种不同的方法 但没有一个对我有用 我总是得到nano当我这样做时作为编辑 git commit 如果我可以剪切并粘贴到nano 但这是做不到的 举个例子 这是我的 gi
  • GitLab 是否通过 git-annex 或其他方式支持大文件?

    我运行一个 GitLab 实例 并希望允许我的用户上传几乎任何大小的文件 众所周知 git 在处理大文件方面仍然存在问题 我知道通过将文件存储在其他地方并仅对元数据进行版本控制来规避此问题的方法 例如git annex git media
  • 如何将新的 Visual Studio 2017 cmake 功能与 gitlab CI 运行程序结合使用

    我以直接的方式为 Linux 设置了 gitlab ci runner cmake make make test 大致如下 variables GIT SUBMODULE STRATEGY recursive stages build te
  • 尝试编译 git 但在 linux 中找不到 libcurl

    我想编译支持 http https 的 git 我有 ls usr include curl curlbuild h curl h curlrules h curlver h easy h mprintf h multi h stdchea
  • 合并两个github帐户

    假设我有两个 github 帐户xyz 邮件 ID email protected cdn cgi l email protection and abc email protected cdn cgi l email protection
  • 如何在提交后删除本地 git 历史记录?

    我想从 Dropbox 切换到开源 Sparkleshare 它使用 git 进行同步和版本控制 如果说我在文件夹中删除了一个 1GB 文件 它会保留在本地 git 文件夹的历史记录中 但我希望将这种大量数据放在服务器上而不是客户端上 如何
  • 是否有一个 Git 命令可以在推送到 master 之前添加通知/警告

    我有一个用例 其他人依赖我在从 master 下拉时没有启用标志 但我需要在本地处理存储库时启用它 我希望 希望 Git 有一种方法可以添加通知或警告 当请求推送到 master 时会触发 作为某种 提醒 所以也许我的工作流程可能是这样的
  • 如何在 *Windows* 中将 Mercurial 存储库转换为 Git? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Windows 上将 Mercurial hg 存储库转换为 Git 7 https stackoverflow com questions 3267232 converting a mercur
  • 压缩 git log --graph 输出?

    有没有办法压缩输出git log graph那么它会在视觉上压缩遵循线性历史的提交吗 基本上 我只想查看图中某些分支分歧 合并的点 以获得我的分支结构的顶层 概述 举个例子 如果我有这个 A Z H B G C F D E 我希望它显示类似
  • 关闭 Sublime Text 3.2 中的 git 集成

    如果我想关闭 Sublime text 左侧装订线中的 GIT 集成 又名史莱姆绿线 我只需将其切换为 false 26 show git status false 但是 当在首选项中进行设置时 我收到错误 尝试解析设置时出错 意外的字符
  • git difftool 进行目录比较?

    是否可以使用 git difftool 命令来打开已更改文件和暂存 检查文件之间的目录比较 因此 理想情况下 如果 2 个文件已更改 它们将是唯一显示的 2 个文件 但在目录比较中 我读过关于让 git 并行给出所有文件差异的帖子 所以像
  • 将 git 存储库拆分为压缩的公共和初始私有

    我想在 Github 上开源一个项目 有相当多的提交 超过 2k 我会将它们压缩成一个 初始提交 以便从一个干净的代码库开始并隐藏一些历史内容 问题是 是否有可能 保留一个包含所有初始提交的私有存储库 其中会有一些秘密密钥 travis c
  • git receive-pack 以 0000 停止

    我对 git 很陌生 目前正在尝试在 opensuse 上使用 gitolite 和 trac 设置环境 我设法使用来自的脚本迁移旧的 svn 存储库http john albin net git git svn migrate http
  • Git 分支名为 origin/HEAD -> origin/master

    我对 Git 还很陌生 但仍在掌握它的窍门 我最近刚刚开始与分支机构合作 遇到了一些问题 我有两个开发系统 一个 Ubuntu 桌面和一个 MacBookPro 我在新的环境中做了很多工作organizationsUbuntu 系统上的分支
  • 用于维护项目扩展分支的 Git 工作流程?

    我们在 GitHub 上分叉了一个 OSS 项目 并向其添加一些自定义扩展 我们希望将我们所做的一些更改发送回原始项目 错误修复等 但其他更改是原始项目维护者目前不感兴趣的功能扩展 我正在尝试找出管理这种情况的最佳工作流程 我希望我们的主分
  • git pull origin master 返回致命错误:无效的 refspec

    问题是这样的 每当我这样做时 git pull https github com username reponame github io git 接下来是网址 我没有遇到任何问题 但是当我这样做时 git pull origin maste
  • 尝试匿名克隆 github 存储库时权限被拒绝

    作为匿名用户 github 上没有存储公钥 我尝试通过以下方式克隆公共存储库 git 网址 但它失败了 git clone email protected cdn cgi l email protection mikehaertl phpw
  • 你遇到过哪些 git 陷阱?

    我遇到的最糟糕的情况是 git 子模块 我在 github 上有一个项目的子模块 该项目无人维护 我想提交补丁 但无法提交 所以我分叉了 现在子模块指向原始库 而我需要它指向 fork 因此 我删除了旧的子模块 并将其替换为同一提交中新项目

随机推荐

  • 修改 htmlpurifier 允许的标记

    我的 html 净化器设置现在只允许这些标签 configuration gt set HTML Allowed p ul ol li 我想允许列表缩进 我的编辑器使用这个 html ul style margin left 40px 我应
  • android studio新建项目看不到src文件夹

    重新安装 android studio 后 我创建了一个新项目 MyapplicationProject 在 Windows 资源管理器中我看到所有文件夹 MyapplicationProject Myapplication libs sr
  • 在XSLT中声明全局变量,在本地重新赋值

    我可以在全局范围内声明一个值为 111 的变量 myVariable 但如何在本地重新赋值呢 或者有其他方法可以实现这一目标 请帮忙 谢谢 拉维 您可以在模板内重新定义相同的变量
  • “QwtLog10ScaleEngine”之前需要类型说明符吗?

    版本 qwt 6 0 1 我尝试开发频谱的对数缩放 我使用简单的线条来启用缩放plotspectrum gt setAxisScaleEngine QwtPlot yLeft new QwtLog10ScaleEngine 问题 数据未绘制
  • 如何在 Mac OS X 中生成核心转储?

    我似乎无法在 Mac OS X 10 6 8 中生成核心转储 ulimit c unlimited a out Hello world Segmentation fault find type f name core ls la cores
  • 如何在 java 中使用 Apache POI XWPF 将图片添加到 .docx 文档

    我使用 Java POI 3 7 创建了一个简单的 docx 文档 XWPF 然后 我添加了一张图片 使用该方法XWPFDocument addpicture byte arg0 int arg1 XWPFDocument docx new
  • 使用 NodeJS 和 node-formidable 上传文件

    我使用node js和强大的模块成功上传文件 保存在磁盘上的文件格式错误 编码错误 例如如果我上传图像我无法查看它 如果我上传 txt 文件 gedit 提供以下消息 gedit 无法检测到字符编码 请检查您是否没有尝试打开二进制文件 从菜
  • HSQLDB 语句和 Java NaN 双精度

    我目前正在使用 HSQLDB 来保存 java 数据 在这些数据中 有一些 Double 其中一些可以是以下值 NaN 被形容为0 0 0 0在 javadoc 中 HSQLDB 知道如何处理这些值setDouble and setFloa
  • 如果语句和大括号..有/没有不同的结果

    好吧 我正在学习 C 在使用其中一个教程时遇到了一种奇怪的效果 但我不太明白它发生的情况 对于本教程 从提供的示例中复制 我在类模板专业化中编写了一个函数 用于检查 char 是否为小写 然后将其变为大写 char uppercase ch
  • React js中的条件渲染(多条件内的条件)

    其实我正在尝试hide and show一些 html 元素react 我创建了一个员工表单 其中有多个分区 例如个人信息 联系信息等 我在表单中创建了下一个和上一个按钮来显示和隐藏表单中的其他分区 有一个分区需要填写教育详细信息 因此我选
  • 如何处理JodaTime和Android的时区数据库差异?

    我想扩展我在 Reddit Android 开发社区开始的讨论昨天 http www reddit com r androiddev comments 320rz5 im convinced jodatime is not a good l
  • 合并具有相同 ID 变量的行[重复]

    这个问题在这里已经有答案了 我在 R 中有一个数据帧 包含 38 个变量的 2186 个 obs 行有一个 ID 变量 引用独特的实验并使用 length unique df ID nrow df n occur lt data frame
  • 将具有多变量函数的列表变量的数据框应用到具有函数参数的数据框

    该数据框包含我所说的 数据 library tidyverse df d lt data frame key c cat cat dog dog value 1 c 1 2 3 4 value 2 c 2 4 6 8 这是一个数据框 我打算
  • 为什么 C++17 中没有 std::future::then ?

    boost future有一个成员函数 boost future then while std future has no std future then This 精彩的文章 https bartoszmilewski com 2014
  • Jquery Cycle — 多个嵌套幻灯片和循环终止

    我正在尝试使用 jQuery Cycle 插件构建一个幻灯片 该插件在一些顶级幻灯片中包含另一层嵌套幻灯片 主 容器 幻灯片水平滑动 然后 对于左侧包含多个图像的 容器 幻灯片 这些图像垂直向上滑动 此处示例 因为我认为很难想象 http
  • .htaccess 中的 301 重定向是否需要按优先级顺序排列?

    我有一个已重新开发的网站 网址完全不同 我有数百个或 301 要做 许多原始 URL 非常长 我不知道为什么 并且我得到了一些有趣的结果 其中一些重定向正在发生 而另一些正在重定向 但重定向到奇怪的 URL 我想知道301是否有特定的订单需
  • 调整页面内容大小以适合一页打印

    在我看来 这个问题与CSS更相关 但我对任何解决方案持开放态度 我正在尝试打印一个高度以 px 为单位定义的网页 我也尝试过 现在 Safari 和 IE 8 及更高版本中发生的情况是 页面内容不会打印在一页上 当前设置 div paren
  • 类自定义操纵器

    我正在尝试编写一个带参数的流操纵器 我有 3 个整数的 CDate 年 月 日 课程 所以我需要制作操纵器date format const char 例如 CDate a 2006 5 15 cout lt lt DATE IS lt l
  • Linux中从内核空间获取进程列表

    我怎样才能获得所有对的列表process name gt process pid 用户空间和内核空间 来自内核模块 在您的内核模块中 您可以执行以下操作 rcu read lock for each process g printk s g
  • 尽管 ssh 密钥存在,但 Gitlab Ci 上“主机密钥验证失败”

    主机密钥验证失败 在 Gitlab Ci 上运行 ssh名称 服务器 时 这是我的 gitlab ci 的一部分 它应该登录到我的服务器并从存储库运行脚本 script which ssh agent apt get update y ap