a06c1c0709
Forgejo 存 secret 时会去掉结尾换行,而 OpenSSH 格式私钥(如阿里 ed25519 部署 key)缺结尾换行会被 openssh 判为 "invalid format" 拒绝加载,退化成 无密钥 → Permission denied,导致迁移期 Deploy → Ali 影子轨每次都失败 (因 continue-on-error 不阻塞 EC2、流水线仍显示成功,故未被察觉)。 EC2 那把是 RSA/PEM 对结尾换行宽容,未暴露此问题。 改 printf '%s' → printf '%s\n' 始终补一个结尾换行;对已含换行的 PEM 无害。 已本机端到端复现并验证:去掉结尾换行的 key 经修复后 deploy-server.sh 阿里分支跑通,阿里二进制已与 EC2 一致(sha 7e77ec46)、jiu.service 保持 stopped。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YZ4DskSRKsSiheQonFtQvx