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

Google Cloud平台Fedora CoreOS实例SSH连接失败问题求助

问题根因

你使用的是**Fedora CoreOS(FCOS)**镜像,它属于面向容器场景的不可变操作系统,和常规Fedora Server、Debian等通用服务器镜像的设计逻辑不同,默认不兼容GCP原生的元数据SSH密钥自动注入、OS Login功能,因此开箱状态下无法直接通过浏览器SSH、gcloud命令行SSH连接。


解决方案

方案1:新实例创建时预配置(推荐)

FCOS所有系统配置都需要通过Ignition文件在首次启动时注入,操作步骤如下:

  • 本地生成SSH密钥对(已有可跳过):
    ssh-keygen -t rsa -b 4096
    
    生成的公钥默认存储在~/.ssh/id_rsa.pub路径下。
  • 编写FCC配置文件(命名为ssh.fcc):
    variant: fcos
    version: 1.4.0
    passwd:
      users:
        - name: core
          ssh_authorized_keys:
            - 替换为你的id_rsa.pub文件完整内容
    
  • 通过fcct工具将FCC配置转为Ignition格式:
    fcct --strict ssh.fcc -o ssh.ign
    
  • GCP控制台创建实例时,在「元数据」板块添加键为user-data,值为ssh.ign的完整文本内容,实例创建完成后即可直接用ssh core@实例公网IP连接。

方案2:已创建实例的修复方法

如果实例已经创建无法重建,可以通过启动脚本临时注入密钥:

  • 先在GCP控制台停止目标FCOS实例
  • 编辑实例配置,在「自定义元数据」中添加两组键值对:
    • 键:startup-script,值:
      #!/bin/bash
      mkdir -p /home/core/.ssh
      chmod 700 /home/core/.ssh
      echo "替换为你的SSH公钥完整内容" > /home/core/.ssh/authorized_keys
      chmod 600 /home/core/.ssh/authorized_keys
      chown -R core:core /home/core/.ssh
      restorecon -R /home/core/.ssh
      
    • 键:ignition.firstboot,值:0
  • 保存配置后启动实例,等待2分钟即可通过ssh core@实例公网IP连接,连接成功后可删除startup-script元数据避免重复执行。

注意事项

  • FCOS默认管理用户为core,不要使用GCP账号对应的用户名尝试连接,所有SSH登录都需要用core用户
  • 若需要启用GCP OS Login功能,需要在Ignition配置中额外预装google-compute-engine-oslogin组件,原生FCOS默认不带该服务
  • 不要直接修改FCOS系统路径下的配置文件(如/etc/ssh/sshd_config),不可变系统的直接修改会在重启后还原,所有永久配置变更都需要通过Ignition或rpm-ostree提交

内容的提问来源于stack exchange,提问作者Dawood Khan Masood

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:18:05