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

使用gcloud compute scp传输文件时为何要求输入密码?

为什么gcloud compute scp会要求输入root密码?

嘿,这个问题其实挺常见的——Google Cloud的VM默认就不让直接用root用户通过SSH(包括scp这类基于SSH的传输工具)登录,而且root账户本身默认也没设置密码,所以你看到这个密码提示,本质是系统在找不到对应SSH密钥后的“无奈 fallback”,根本没法通过这步完成登录或文件传输。

具体原因拆解:

  • GCP的VM实例在创建时,默认会禁用root用户的SSH密钥登录权限,而且不会给root设置初始密码。
  • 你执行的命令用了root@lamp-2,但你的SSH密钥是关联到创建VM时设置的普通用户(比如你Cloud Shell里的用户名),不是root账户。系统找不到能验证root身份的密钥,就会自动切换到密码登录模式,但root没密码,这就陷入死胡同了。

正确的解决办法:

  • 用普通用户执行scp:找到你创建VM时指定的普通用户名(如果没特别设置,通常和你Cloud Shell的用户名一致),把命令改成:
    gcloud compute scp [local file path] 你的用户名@lamp-2:/home/你的用户名/
    
    比如你的用户名是andy,命令就是:
    gcloud compute scp [local file path] andy@lamp-2:/home/andy/
    
  • 如果需要操作root权限目录:先把文件传到普通用户的目录,然后通过SSH登录VM,用sudo mv命令把文件移动到目标位置(比如/root/或者其他需要root权限的目录),这样既安全又能完成需求。

注意:不建议开启root用户的SSH登录权限,这会大幅降低VM的安全性,尽量用普通用户加sudo的方式完成高级操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:02:53