Я пытаюсь создать упаковщик, используя базовый образ как «CIS Microsoft Windows Server 2016 Benchmark v1.1.0.9 Level 1». Я использую WinRM для подключения к упаковщику, однако WinRM не удалось подключиться и завершился с ошибкой «Слишком долго без вывода (превышено 45 мс): превышен крайний срок контекста» в задании CircleCI.
Я проверил несколько статей, где он упоминал, что у образов CIS есть базовая аутентификация c, отключенная для протокола WinRM под GPO.
Ниже приведен мой код;
"type": "amazon-ebs",
"ami_name": "Windows Server-2016 RCM {{user `git_sha`}} {{timestamp}}",
"instance_type": "r5.2xlarge",
"region": "eu-west-1",
"ami_description": "Windows Server-2016 RCM CIS Benchmark Build",
"force_deregister": true,
"force_delete_snapshot": true,
"communicator": "winrm",
"winrm_timeout": "12h",
"winrm_username": "*******",
"winrm_port": 22,
"user_data_file": "packer-common.user_data",
"subnet_id": "{{user `subnet_id`}}",
"security_group_ids": "{{user `security_group_ids`}}",
"associate_public_ip_address": true,
"iam_instance_profile": "{{user `iam_instance_profile`}}",
"source_ami_filter": {
"filters": {
"name": "{{user `CIS_Benchmark_Image`}}*"
},
"owners": ["679593333241"],
"most_recent": true
},
код "packer-common.user_data", как показано ниже;
Set-Item WSMan:\localhost\Listener\*\Port 22 -Force
Set-Item WSMan:\localhost\Service\AllowUnencrypted True
Set-Item WSMan:\localhost\Client\Auth\Basic True
Set-Item WSMan:\localhost\Service\Auth\Basic True
Restart-Service WinRm
New-NetFirewallRule -DisplayName "Allow WinRM on 22" -Direction Inbound -Protocol TCP -LocalPort 22
Журналы упаковщика показывают ошибку как;
WinRM connection err: http response error: 401 - invalid content type
Есть ли способ подключения к упаковщику или что-то, что мне нужно проверить с помощью "user_data_file"?
Спасибо.
С уважением, Сагар