Error de Windows: Mecanismo de autenticación del cliente WinRM
Descripción
Este error ocurre cuando se intenta establecer una conexión remota utilizando Windows Remote Management (WinRM) o PowerShell Remoting a través de una conexión HTTP no cifrada. Por defecto, las políticas de seguridad de Windows prohíben el envío de credenciales de autenticación sin un mecanismo de autenticación explícito (como Kerberos, Negociar o Básico) a menos que se utilice cifrado de datos (HTTPS) o se permita explícitamente por su configuración. Si no especifica cómo autenticar, WinRM asume que está utilizando credenciales de usuario locales, que están bloqueadas a través de HTTP en bruto por seguridad.
Soluciones fáciles paso a paso
Solución 1: Añadir el servidor remoto a TrustedHosts
La forma más fácil de resolver esto para las redes locales o laboratorios es añadir el equipo de destino a la lista de hosts de confianza de la máquina cliente. Esto le dice a su computadora que el destino es seguro para conectarse sin autenticación avanzada.
- Haga clic derecho en el Start Menu botón en su computadora cliente.
- Selecciona Terminal (Admin), PowerShell (Admin), o Command Prompt (Admin).
- Ejecute el siguiente comando para permitir conexiones a todos los ordenadores remotos:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force(Nota: puede sustituir `
with a specific IP address or computer name for better security, for example:Set-Item WSMan:\localhost\Client\TrustedHosts -Value "192.168.1.50" -Force`)* - Reinicie el servicio WinRM ejecutando:
Restart-Service WinRM
Corrección 2: Definir explícitamente el mecanismo de autenticación
Si está ejecutando un script o un comando en PowerShell, puede evitar este error indicando explícitamente el método de autenticación y pasando las credenciales correctamente.
- Abre tu... PowerShell Es muy rápido.
- Utiliza el
-AuthenticationParámetro junto con el-CredentialParámetro bajo su mando. - Ejemplo de sesión de entrada:
Enter-PSSession -ComputerName "YOUR_REMOTE_COMPUTER" -Credential (Get-Credential) -Authentication Negotiate - Ejemplo de comando de invocación:
Invoke-Command -ComputerName "YOUR_REMOTE_COMPUTER" -ScriptBlock { Get-Process } -Credential (Get-Credential) -Authentication CredSSP
Corrección 3: Habilitar la autenticación básica en el lado del cliente
Si su flujo de trabajo requiere el uso de nombres de usuario y contraseñas locales sin configuraciones de directorio complejas, debe habilitar explícitamente la autenticación básica en la configuración del cliente WinRM.
- Abierto. PowerShell (Admin).
- Ejecute este comando para comprobar su configuración actual:
Get-Item WSMan:\localhost\Client\Auth\Basic - Si el valor está establecido en
False, ejecute este comando para activarlo:Set-Item WSMan:\localhost\Client\Auth\Basic -Value $true - Asegúrese de que el tráfico no cifrado está permitido si no está utilizando HTTPS (sólo se recomienda para redes locales seguras y aisladas):
Set-Item WSMan:\localhost\Client\AllowUnencrypted -Value $true
Corrección 4: Verifique la configuración del servidor remoto
A veces el problema está en el ordenador receptor. Asegúrese de que la máquina de destino está realmente escuchando y permitiendo la configuración remota.
- Inicie sesión en el... Target/Remote computer.
- Abierto. PowerShell (Admin).
- Habilitar y reparar la configuración rápida de WinRM ejecutando:
winrm quickconfig - ¿ Qué tipo ?
yy presiona. Enter para confirmar cualquier solicitud para habilitar el servicio o abrir excepciones del cortafuegos.
Puede haber algunos errores.. Learn Microsoft