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

Ubuntu执行gcloud compute scp提示无活跃选中账号报错排查

问题成因

报错和操作系统差异无直接关联,核心触发原因是你执行传输命令时使用了sudo前缀:

  • 你执行的前两条配置命令gcloud auth login、gcloud config set account均在当前普通用户身份下运行,gcloud生成的账号凭证、活跃账号配置默认存储在当前普通用户的~/.config/gcloud/目录下,仅对当前用户可读
  • Ubuntu环境下sudo执行命令时默认会切换到root用户上下文,重置HOME环境变量为root的家目录/root,此时gcloud会读取/root/.config/gcloud/路径下的配置,该路径下没有你之前登录的账号凭证,因此抛出无活跃账号的错误
  • Mac设备未触发该问题,是因为macOS默认sudo配置不会重置HOME环境变量,即使加了sudo前缀,gcloud仍会读取当前普通用户目录下的配置文件
解决方案

按优先级选择以下任意一种方案即可:

  • 无特殊权限需求时,直接去掉scp命令前的sudo前缀。gcloud compute scp默认不需要root权限即可完成传输,执行命令:
    gcloud compute scp path/to/folder $VM_ID:$REMOTE_DIR --project=$PROJECT_ID --recurse
    
  • 如果待传输的本地文件夹权限归属于root、普通用户无读取权限,先将文件夹权限修改为当前用户所有,再用普通用户身份执行scp命令:
    sudo chown -R $USER:$USER path/to/folder
    gcloud compute scp path/to/folder $VM_ID:$REMOTE_DIR --project=$PROJECT_ID --recurse
    
  • 特殊场景必须使用root身份执行gcloud命令时,显式指定gcloud读取当前普通用户的配置目录,避免加载root用户的空配置:
    sudo CLOUDSDK_CONFIG=~/.config/gcloud gcloud compute scp path/to/folder $VM_ID:$REMOTE_DIR --project=$PROJECT_ID --recurse
    

内容的提问来源于stack exchange,提问作者Kai Kiat Poh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 23:54:32