Pide tu presupuesto ya!
¿Alguna vez ha intentado acceder a un recurso remoto dentro de una sesión de PowerShell Remoting y se ha topado con un frustrante obstáculo de acceso denegado? Este problema común, conocido como problema de “doble salto”, le impide acceder a una segunda máquina remota desde su sesión actual.
¿La buena noticia? Hay formas de resolver el problema del doble salto sin configuraciones demasiado complejas. En este tutorial, creará una sesión personalizada que maneja sin problemas la autenticación, ahorrándole tiempo y esfuerzo mientras mantiene la seguridad.
¡Supere los saltos dobles con las configuraciones de sesión y optimice su flujo de trabajo!
Si está trabajando con scripts que se conectan a recursos remotos, es posible que encuentre el problema del doble salto. Este problema ocurre cuando sus credenciales no logran autenticarse más allá del primer salto en una conexión remota.
Por ejemplo, considere un script que cuenta subdirectorios en una computadora remota usando una ruta UNC:
(Get-ChildItem -Path \\SRV2\c$ -Directory).Count
Si ha iniciado sesión con un usuario que no tiene permiso para acceder a un recurso, puede ejecutar PowerShell con una cuenta de usuario diferente:
Después de iniciar PowerShell como un usuario diferente, el comando debería ejecutarse correctamente:
(Get-ChildItem -Path \\SRV2\c$ -Directory).Count
Consejo: Si ejecuta comandos con frecuencia con diferentes credenciales, considere usar el Start-Process cmdlet con el -Credential parámetro. Este enfoque le permite abrir nuevas sesiones de PowerShell directamente desde la consola con credenciales alternativas.
Es posible que pueda acceder con éxito a un recurso remoto localmente, como una carpeta compartida, cuando trabaje con varios sistemas remotos. Pero luego descubrió que el mismo comando produce un error de “acceso denegado” cuando se ejecuta (desde una segunda computadora remota).
Esta inconsistencia puede resultar confusa, especialmente cuando está seguro de que sus credenciales tienen permisos suficientes.
Para probar sus conexiones remotas, establezca una sesión con otra computadora:
Enter-PSSession -ComputerName SRV3
Una vez conectado, intente ejecutar el mismo comando en la segunda máquina:
(Get-ChildItem -Path \\SRV2\c$ -Directory).Count
Esta prueba suele dar como resultado un error de “acceso denegado”, incluso si utiliza una cuenta con permisos.
Confirma tu usuario actual con lo siguiente:
whoami
Este comportamiento (doble salto) ocurre porque PowerShell no pasa sus credenciales al siguiente salto. Este mecanismo es una característica de seguridad integrada en la autenticación Kerberos, pero puede ser un gran dolor de cabeza al administrar múltiples sistemas.
Una solución al problema del doble salto es crear una configuración de sesión en la máquina intermedia.
Comience registrando una configuración de sesión en la computadora a la que se está conectando, en este caso, SRV3.
El siguiente comando:
Name a la configuración de la sesión (p. ej., Admin).RunAsCredential) las sesiones se ejecutarán bajo.Force) se aplica la configuración y se reinicia el servicio WinRM.Invoke-Command -ComputerName SRV3 -ScriptBlock {
Register-PSSessionConfiguration -Name Admin -RunAsCredential 'psforsysadmins.local\adam' -Force
}
PowerShell le solicita la contraseña para el RunAsCredential cuenta, que se almacena de forma segura en la máquina remota. Una vez registrada la configuración, el servicio WinRM se reinicia y se cierra la sesión.
Con la configuración realizada, ahora puede conectarse usando el ConfigurationName parámetro:
Invoke-Command -ComputerName SRV3 -ScriptBlock {
(Get-ChildItem -Path \\SRV2\c$ -Directory).Count
} -ConfigurationName Admin
Este comando realiza la misma operación que antes. Sin embargo, especifica la Admin configuración de sesión, que se ejecuta bajo la cuenta de administrador especificada.
Consejo: limite el acceso a la configuración de la sesión definiendo permisos de acceso específicos de usuario o grupo mediante el Set-PSSessionConfiguration cmdlet. Al hacerlo, se garantiza que solo los usuarios autorizados puedan aprovechar la configuración.
En esta guía, vio y resolvió el problema del doble salto en PowerShell Remoting. Establecer una configuración de sesión puede resolver el problema del doble salto y garantizar que las credenciales se pasen de forma segura.
Esta solución es persistente, por lo que puede reutilizar la configuración incluso después de reiniciar, lo que la convierte en un enfoque sólido para administrar sesiones remotas de PowerShell. Ahora puede gestionar operaciones remotas de múltiples saltos con confianza y optimizar los flujos de trabajo sin comprometer la seguridad.
A partir de aquí, considere explorar opciones de seguridad avanzadas, como restringir el acceso a la sesión o implementar autenticación basada en certificados. Estas mejoras pueden fortalecer aún más su configuración remota mientras administran entornos complejos de manera flexible.
Leave a comment