我如何将`gcloud compute copy-files`作为root用于GCE实例?

我正试图复制本地文件到/var/www/

该实例有两组密钥。 一个用于默认生成的实例创build器,另一个用于手动设置的远程访问。

我已经成功地通过gcloudlogin,作为后者的用户,一旦我login,我可以更改为根。但是,当我尝试通过root@instance-nameinstance-creator-name@instance-name ,我得到Permission denied (publickey)

我是否需要为实例创build者生成一个新的密钥对? 实例创build者的私钥是否可以find(不会违反安全性)? 有没有另一种方式作为根login?

编辑: 文档留下未指定的部分。

以下示例演示了将名为css的文件夹复制到默认文档目录中,并以root用户身份执行此操作,因为该用户拥有/ var / www远程目录:

$ gcloud compute copy-files ~/mysite/css root@<YOUR-INSTANCE>:/var/www

这应该按照文档工作,但我得到的Permission denied 。 思考我可能搞砸了我的SSHconfiguration,我强迫gcloud使用默认的私钥,然后我手动生成的密钥,但都没有工作。

出于安全原因,标准Google图像不能以root身份直接连接。 实例创build者以及使用元数据sshKeys值添加的任何用户都自动成为该帐户的pipe理员,并且可以运行sudo而不需要像您提到的密码。

虽然不推荐,但可以修改

的/ etc / SSH / sshd_config中

并重新启动sshd来更改此策略

在您的机器上本地安装Google云端SDK。 这将自动login到谷歌,并设置必要的权限。 让生活更轻松: https : //cloud.google.com/sdk/downloads