如何以 root 身份将“gcloud compute copy-files”放入 GCE 实例中?

如何以 root 身份将“gcloud compute copy-files”放入 GCE 实例中?

我正在尝试将本地文件复制到/var/www/

该实例有两组密钥。一组是默认生成的实例创建者的密钥,另一组是我手动设置的远程访问密钥。

我已经成功通过以后者身份登录gcloud,并且登录后我可以更改为 root 。但是当我尝试通过root@instance-name或以 root 权限登录时instance-creator-name@instance-name,我得到了Permission denied (publickey)

我是否需要为实例创建者生成新的密钥对?实例创建者的私钥可以在某处找到吗(这不会违反安全性吗)?还有其他方法可以以 root 身份登录吗?

編輯:文档留下那部分未指定。

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

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

根据文档,这应该可行,但我得到的Permission denied却是。考虑到我可能搞乱了我的 SSH 配置,我强制 gcloud 使用默认私钥,然后使用我手动生成的密钥,但都没有用。

答案1

出于安全原因,标准 Google 映像不提供以 root 身份直接连接的功能。实例创建者和使用元数据 sshKeys 值添加的任何用户都会自动成为该帐户的管理员,并且能够像您提到的那样运行 sudo 而无需密码。

虽然不建议,但你可以修改

/etc/ssh/sshd_config

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

答案2

在您的机器上本地安装 google cloud sdk。这将自动让您登录到 google 并设置必要的权限。让生活变得更加轻松:https://cloud.google.com/sdk/downloads

相关内容