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

使用Azure SSH任务解压远程Linux服务器文件时主机密钥验证失败

故障根因

你配置的SSH@0任务本身已经通过预先录入的sshEndpoint凭证完成了到目标CentOS服务器的连接,无需在inline脚本中二次调用ssh cbvr@172.22.159.132发起新的SSH请求。此次报错正是二次SSH请求触发的校验逻辑:服务器上的cbvr用户~/.ssh/known_hosts文件中没有存储172.22.159.132的主机密钥,因此抛出验证失败错误。
之前流水线能成功连接是因为旧任务没有嵌套多余的SSH命令,直接使用Azure DevOps侧sshEndpoint中预先存储的可信主机密钥完成校验,不受服务器本地known_hosts配置影响。

修复方案
  • 优先删除inline脚本中冗余的二次SSH命令,直接执行解压操作即可,同时修正两处命令语法问题:
    1. 原路径opt/cbvr/为相对路径,建议改为绝对路径/opt/cbvr/避免执行上下文异常
    2. unzip的-d参数需要传入目标目录参数,如果需要解压到当前目录可直接省略-d,或在-d后追加.指定当前目录
      修正后的任务配置如下:
- task: SSH@0
  inputs:
    sshEndpoint: 'CentOS FTA VM APP1 CBVR'
    runOptions: 'inline'
    inline: |
      cd /opt/cbvr/
      unzip -o EQ.MaxitCostBasis.Web.zip
    readyTimeout: '20000'
  • 若确实存在特殊场景需要在inline脚本中执行跨主机SSH操作,可在SSH命令中添加参数临时跳过主机密钥校验,或提前将目标主机的密钥写入执行用户的~/.ssh/known_hosts文件。跳过校验的命令示例如下:
    ssh -o StrictHostKeyChecking=no cbvr@172.22.159.132 '待执行的命令'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:33:03