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

使用sed替换RSA密钥文件中\n为换行解决pem格式无效报错

报错原因

PEM格式的RSA私钥对格式要求非常严格,必须在指定位置换行才能被SSH正常识别。你当前的密钥文件里所有换行位置都被存储为字面量\n,还混有多余的<strong>HTML标签和冗余空格,所以SSH读取时会触发invalid format格式错误。

操作步骤
  • 先备份原密钥文件,避免操作失误丢失密钥:
    cp abc.pem abc.pem.origin

  • 执行sed命令完成格式修复:
    sed -i 's/<\/\?strong>//g; s/ *\\n */\n/g' abc.pem
    命令说明:

    第一段s/<\/\?strong>//g作用是全局删除所有多余的<strong>、</strong>HTML标签
    第二段s/ *\\n */\n/g作用是把所有前后带空格的字面量\n替换为真实的换行符

    如果你使用的是macOS系统,自带的sed语法存在差异,需要改成以下命令:

    sed -i '' 's/<\/\?strong>//g; s/ *\\n */\
    

/g' abc.pem

- 修复完成后调整私钥权限,SSH要求私钥仅所有者可读写,否则也会触发权限类报错:
`chmod 600 abc.pem`
- 直接测试SSH登录验证是否正常即可。

# 异常排查
如果修复后仍然提示格式错误,可以执行`cat -A abc.pem`查看文件内的不可见字符,确认没有残留多余的转义字符、空格即可。

内容的提问来源于stack exchange,提问作者Sarthak Saxena
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:45:00