2.7 KiB
2.7 KiB
Preparación del Windows Agent para Ansible
Descripción: Este fichero contiene los comandos necesarios para preparar un host Windows para ser gestionado por Ansible usando WinRM (HTTP no cifrado / Autenticación Basic).
Requisitos previos en el agent Windows:
- Windows con PowerShell ejecutándose como administrador.
- Conexión de red que permita acceso al puerto
5985(WinRM HTTP) des del agente de Ansible.
Pasos:
- Cambiar red a privada: En la configuración de Red de Windows, establecer el perfil de red de "Pública" a "Privada".
- Habilitar WinRM: Ejecutar en PowerShell elevado a nivel administrador:
winrm quickconfig -force
- Permitir autenticación Basic (necesario si usarás credenciales básicas):
Set-Item -Path WSMan:\localhost\Service\Auth\Basic -Value $true
- Permitir tráfico no cifrado (si no usas HTTPS/WinRM cifrado):
Set-Item -Path WSMan:\localhost\Service\AllowUnencrypted -Value $true
- Abrir puerto WinRM en el firewall:
New-NetFirewallRule -Name "WinRM HTTP" -DisplayName "WinRM HTTP" -Enabled True -Direction Inbound -Protocol TCP -LocalPort 5985 -Action Allow
Notas de seguridad:
- Habilitar
AllowUnencryptedyBasicsignifica que las credenciales viajan en claro si no usas túnel/capa adicional. Evítalo en entornos de producción. - Para un entorno más seguro, configura WinRM sobre HTTPS (puerto 5986) y usa certificados, o usa un túnel VPN/SSH para proteger el tráfico.
- Asegúrate de limitar el acceso al puerto
5985mediante reglas de firewall o controles de red (IP whitelist).
Comprobación:
- Desde el controlador Ansible (Linux/macOS), prueba conectividad con
winrmusando un módulo o una tareapingde Ansible, o bien conTest-NetConnectiondesde otro host Windows:
Test-NetConnection -ComputerName <IP-o-hostname> -Port 5985
Deshacer/Restaurar:
- Para deshabilitar Basic auth:
Set-Item -Path WSMan:\localhost\Service\Auth\Basic -Value $false
- Para volver a bloquear tráfico no cifrado:
Set-Item -Path WSMan:\localhost\Service\AllowUnencrypted -Value $false
- Para eliminar la regla de firewall creada:
Remove-NetFirewallRule -Name "WinRM HTTP"
Comandos antiguos del tirón
Preparación del Windows Agent para Ansible:
1) Poner el Windows de Red Publica a Privada (En configuración de Red)
2) winrm quickconfig -force
3) Set-Item -Path WSMan:\localhost\Service\Auth\Basic -Value $true
4) Set-Item -Path WSMan:\localhost\Service\AllowUnencrypted -Value $true
5) New-NetFirewallRule -Name "WinRM HTTP" -DisplayName "WinRM HTTP" -Enabled True -Direction Inbound -Protocol TCP -LocalPort 5985 -Action Allow