如何在启动 AWS 实例时创建用户和密码

How to create a user and password while launching AWS instance

Azure 允许在创建虚拟机的过程中创建用户和密码,以后可以通过 SSH 连接到该 VM。

如何在 run instance 期间使用可用于 SSH 的 Java SDK 在 AWS 中创建用户和密码。

目前我laucnh Vm as

  runInstancesRequest
                    .withTagSpecifications(tagSpecification)
                    .withImageId(ec2Configuration.getImageId())
                    .withInstanceType(ec2Configuration.getInstanceType())
                    .withMinCount(ec2Configuration.getMincount())
                    .withMaxCount(ec2Configuration.getMaxcount())
                    .withKeyName(ec2Configuration.getKeyPairName())
                    .withSecurityGroupIds(Arrays.asList(ec2Configuration.getSgId()));
                    .withMonitoring(true);
         
          
                RunInstancesResult result = amazonEC2Client.runInstances(
                        runInstancesRequest);

我想添加这样的内容

    runInstancesRequest
                    .withTagSpecifications(tagSpecification)
                    .withImageId(ec2Configuration.getImageId())
                    .withInstanceType(ec2Configuration.getInstanceType())
                    .withMinCount(ec2Configuration.getMincount())
                    .withMaxCount(ec2Configuration.getMaxcount())
                    .withKeyName(ec2Configuration.getKeyPairName())
                    .withSecurityGroupIds(Arrays.asList(ec2Configuration.getSgId()));
                    .withMonitoring(true)


                    .withUserName("newUser")
                    .withPassword("d@mnHardPassw0rd");
         
          
                RunInstancesResult result = amazonEC2Client.runInstances(
                        runInstancesRequest);          

我知道 AWS 有基于 AMI 的默认用户名和密码,但我想在启动 VM 时创建自己的自定义用户名和密码。

编辑

此外,如何通过 SSH 连接到 Windows 实例? RDP 是唯一的选择吗?如何通过密钥对和 SSH 连接?如何获取它的管理员密码。

您可以使用 UserData 添加它:

RunInstancesRequest.withUserData(String userData)

用户数据可以在下面的URL中找到

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-user-account-cloud-init-user-data/