我正试图复制本地文件到/var/www/ 。
该实例有两组密钥。 一个用于默认生成的实例创build器,另一个用于手动设置的远程访问。
我已经成功地通过gcloudlogin,作为后者的用户,一旦我login,我可以更改为根。但是,当我尝试通过root@instance-name或instance-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