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

Ansible存储多行SSH私钥为变量时出现YAML语法错误如何解决

问题原因
  • YAML 中使用 | 声明保留换行的多行块标量时,块内所有内容必须比所属变量的缩进层级至少高1级。你当前的私钥内容全部和my_private_key变量处于同一缩进层级,YAML解析器会将私钥的每行内容识别为独立的YAML键,找不到对应的值声明的冒号,因此触发语法报错。
修复方案

将整个私钥的所有行统一缩进2个空格(Ansible YAML规范默认使用2空格缩进,也可使用4空格,只要保持块内缩进一致即可),正确写法如下:

my_private_key: |
  -----BEGIN OPENSSH PRIVATE KEY-----

  kd02ke0ke0k20ke0ke40430940943090494
  [...]

  Xekrfmfimimfimfeimiefmim4304309430943==

  -----END OPENSSH PRIVATE KEY-----
  • 额外说明:| 标识会完整保留私钥的换行和格式,后续直接将变量写入文件即可得到有效的SSH私钥,不需要额外处理换行符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:24:02