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

如何在Shell脚本中调整SSH密钥格式以导入GCP项目元数据

适配GCP项目元数据的SSH密钥格式转换方法

当前本地生成的SSH公钥格式为:

ssh-rsa AAAAB3.... username

而GCP项目元数据要求的格式为:

username:ssh-rsa AAAAB3....

之前尝试echo $USERNAME:$(cat ~/.ssh/id_rsa.pub)会保留公钥末尾的原有用户名,导致格式错误。可以通过以下几种Shell命令组合完成格式修正:

  • 使用awk提取核心密钥部分:

    echo "$USERNAME:$(awk '{print $1" "$2}' ~/.ssh/id_rsa.pub)"
    

    awk会提取公钥行的前两个字段(加密算法和密钥内容),自动剔除末尾的用户名,再和指定的用户名拼接成符合要求的格式。

  • 使用sed删除末尾用户名:

    echo "$USERNAME:$(sed 's/ .*$//' ~/.ssh/id_rsa.pub)"
    

    sed命令会删除公钥行中最后一个空格到行尾的所有内容(即原有用户名),再拼接目标用户名。

  • 使用cut分割字段:

    echo "$USERNAME:$(cut -d' ' -f1,2 ~/.ssh/id_rsa.pub)"
    

    以空格为分隔符,提取公钥的前两个字段,再与指定用户名组合。

执行以上任意命令后,输出的内容即可直接用于GCP项目元数据的SSH密钥配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 10:05:24