我正在尝试将文件上传到运行在没有公共IP地址的EC2上的Windows Server VM。这是描述实例的我的terraform资源。
resource "aws_instance" "windows" {
count = 1
ami = "${var.ami_id}"
instance_type = "${var.instance_type}"
subnet_id = "${module.vpc.internal_subnets[0]}"
user_data = "<powershell>net user Administrator thisIsJustTemporary!</powershell>"
vpc_security_group_ids = ["${aws_security_group.winrm.id}", "${module.security_groups.internal_rdp}", "${module.security_groups.allow_outbound}"]
key_name = "${var.key_name}"
provisioner "file" {
source = "./my-script.ps1"
destination = "C:\\Users\\Administrator\\connect-slave.ps1"
# connection {
# type = "winrm"
# user = "Administrator"
# password = "thisIsJustTemporary!"
# bastion_host = "${module.bastion.external_ip}"
# bastion_private_key = "${file(var.ssh_private_key_path)}"
# bastion_user = "ubuntu"
# }
}
tags {
Name = "${var.name}-windows-${count.index+1}"
}
}
我似乎找不到任何关于如何通过堡垒主机使用WinRM的文档。正确设置了WinRM ,因为当我在公有子网中启动实例并直接连接到实例时,这一切都正常。
或者,有没有办法ssh到Windows?
答案 0 :(得分:0)
不幸的是,这是目前不支持的功能。您可以跟踪功能请求here的进度。
答案 1 :(得分:0)
您可以尝试通过利用用户数据来获取脚本。例如,您可以在S3存储桶上托管connect-slave.ps1脚本,然后使用用户数据在正确的位置下载脚本。