我无法从remmina RDP连接GCE窗口实例

时间:2015-06-16 05:31:27

标签: windows cloud google-compute-engine

我使用GCE V1 rest api来启动实例。我很少使用谷歌开发者控制台。我通过rest api创建了windows VM实例。我在元数据属性中传递了Windows初始用户名和密码。 Windows VM已成功创建。我还能够在创建VM时发送响应中的那些凭据。但我无法使用该用户名和密码连接VM。我阅读了有关如何从开发人员控制台重置密码的文档。它工作正常。但我们想为所有人休息。我的意思是创建/管理GCE资源。那么任何人都可以帮助解决这个问题吗?

我用来启动虚拟机的图像是“windows-server-2012-r2-dc-v20150511”

"metadata": {
    "items": [
      {
        "key": "gce-initial-windows-user",
        "value": "administrator"
      },
      {
        "key": "gce-initial-windows-password",
        "value": "twxsFL3U-/,*"
      }
    ]
  }

注意:我通过rest api创建了很多虚拟机。所有实例都有相同的问题。从开发者控制台重置密码时,它可以正常工作。

凭据不起作用。我可以从开发者控制台重置它们。但这不会解决我的问题。因为我们有自己的系统来启动VM和其他服务。为此,我正在建立一个连接器。这是我从node.js脚本发送的示例请求。

Request :
***********
options : {
  "host": "www.googleapis.com",
  "path": "/compute/v1/projects/project-id/zones/us-central1-f/instances",
  "method": "POST",
  "headers": {
    "Authorization": "Bearer ya29.lQGsX8hwdWKaDDwOFnDIZB49eir-c2TUBqYpaVvir7C430Quy8kIWsL4rXv7qjSVQZJKK5e1BdxNug",
    "Content-Type": "application/json charset=utf-8"
  }
}  

 body : {
  "name": "rin2qvxkz-e",
  "zone": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-f",
  "machineType": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-f/machineTypes/n1-standard-2",
  "metadata": {
    "items": [
      {
        "key": "gce-initial-windows-user",
        "value": "administrator"
      },
      {
        "key": "gce-initial-windows-password",
        "value": "%1zuV27$.:?*"
      }
    ]
  },
  "tags": {
    "items": [
      "default"
    ]
  },
  "disks": [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "deviceName": "rin2qvxkz-e",
      "autoDelete": true,
      "initializeParams": {
        "sourceImage": "https://www.googleapis.com/compute/v1/projects/windows-cloud/global/images/windows-server-2012-r2-dc-v20150511",
        "diskType": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-f/diskTypes/pd-standard"
      }
    }
  ],
  "canIpForward": false,
  "networkInterfaces": [
    {
      "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/default",
      "accessConfigs": [
        {
          "name": "External NAT",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "description": "rin2qvxkz-e",
  "scheduling": {
    "preemptible": false,
    "onHostMaintenance": "MIGRATE",
    "automaticRestart": true
  }
}

感谢。

2 个答案:

答案 0 :(得分:1)

您正在使用新的Windows映像“windows-server-2012-r2-dc-v20150511”,其中包含更新的GCEAgent,它不会查看gce-initial-windows-user / gce-initial-windows-password实例the old authentication scheme使用的元数据键。

以下是explanations新身份验证的工作原理,从“windows-server-2012-r2-dc-v20150511”图片开始,然后再开始。

请注意,初始Windows身份验证和GCE API v1是两个单独的主题,GCE API v1未作为身份验证更新的一部分进行更改。

答案 1 :(得分:1)

早先的答案并没有真正解释何时更改。我进行了更多研究,并在Google Windows图片更改日志中找到了一条注释。

元数据项gce-initial-windows-user和gce-initial-windows-password将不再适用于图像v20150511及更高版本

https://cloud.google.com/compute/docs/release-notes-archive#february_2015

  

2015年6月3日

     

更新了Windows身份验证过程。 Windows映像v20150511和   以后将默认使用新方案。 gcloud现在将生成一个   Windows登录的随机密码;不再可能   通过gcloud手动设置Windows密码,但是您可以设置   实例中的自定义密码。

有些链接详细介绍了如何立即将用户添加到Windows图片

  • 您可以使用 gcloud 命令行工具

https://cloud.google.com/sdk/gcloud/reference/compute/reset-windows-password

  

gcloud computing reset-windows-password INSTANCE_NAME [--user = USER]   [--zone = ZONE] [GCLOUD_WIDE_FLAG…]

  • 您可以调用 API ,它们提供 GO Python 示例
  • 如果您需要更多详细信息,他们还会详细介绍分步手动过程

https://cloud.google.com/compute/docs/instances/windows/automate-pw-generation