Descripción del error
Este error se produce cuando se intenta conectarse a la máquina local utilizando Windows Remote Management (WinRM) a través de su dirección de loopback ( localhost, 127.0.0.1, o [::1] ) sin especificar explícitamente un mecanismo de autenticación que permita el tráfico de loopback, o cuando se utiliza la autenticación Kerberos estándar.
By default, the WinRM architecture and Kerberos security protocols prevent loopback authentication to protect against credential reflection attacks. Kerberos relies on Service Principal Names (SPNs) linked to active computer accounts; because localhost Para ejecutar comandos localmente a través de WinRM, debe configurar el cliente WinRM para permitir la conexión local o utilizar explícitamente un método de autenticación alternativo como Básico o Negociar.
Soluciones paso a paso
Método 1: Utilice el nombre del equipo en lugar de localhost
La solución más fácil y segura es evitar las direcciones de loopback por completo apuntando a su nombre de máquina real.
- Abierto. Command Prompt - ¿ Qué ? PowerShell.
- Encuentre el nombre de su computadora ejecutando:
hostname - Use el nombre de host devuelto en lugar de
localhost- ¿ Qué ?127.0.0.1en su WinRM o PowerShell Remoting comando. Por ejemplo:Enter-PSSession -ComputerName YOUR_COMPUTER_NAME
Método 2: Configurar los hosts confiables de WinRM
Si tiene que usar. localhost, es necesario decirle a la configuración del cliente WinRM para confiar explícitamente en las conexiones con él.
- Haga clic derecho en el menú Inicio de Windows y seleccione Windows PowerShell (Admin) - ¿ Qué ? Terminal (Admin).
- Ejecute el siguiente comando para añadir
localhosta su lista de hosts de confianza:Set-Item WSMan:\localhost\Client\TrustedHosts -Value "localhost" -Force(Nota: Si también necesita permitir los cambios de dirección IP, utilice
-Value "localhost,127.0.0.1,::1") - Reinicie el servicio WinRM para aplicar los cambios:
Restart-Service WinRM
Método 3: Cambiar el mecanismo de autenticación
Si su comando permite señales de parámetros, cambie explícitamente de Kerberos a Negociar o autenticación básica, que maneja el tráfico de loopback correctamente.
- For PowerShell sessions: Agregue el
-AuthenticationParámetro de su comando de conexión:Enter-PSSession -ComputerName "localhost" -Authentication Negotiate - For general WinRM utility commands: Especifique el tipo de autenticación utilizando el
-ael interruptor:winrm get winrm/config/client -a:Negotiate
Método 4: Habilitar la política de filtro de fichas de cuenta local
Si está ejecutando el comando como una cuenta de administrador local y aún enfrenta bloqueos de acceso después de aplicar los pasos anteriores, Windows User Account Control (UAC) podría estar retirando sus privilegios administrativos sobre la conexión loopback.
- Presione.
Windows Key + R, tiporegedit, y presiona Enter para abrir el Editor de Registro. - Navegue a la siguiente ruta:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - Haga clic derecho en un espacio vacío en el panel derecho, seleccione New - ¿Qué quieres decir? DWORD (32-bit) Value.
- Nombre del nuevo valor:
LocalAccountTokenFilterPolicy - Haga doble clic.
LocalAccountTokenFilterPolicyy cambiar su Value data ¿ Por qué ?1. - Haga clic OK y reinicie su computadora para aplicar los cambios de registro.
Puede haber algunos errores.. Learn Microsoft