En este tutorial, os explicaré la configuración que debéis realizar en los servidores para poder conectaros, mediante una sesión de PowerShell, entre un ordenador que está en un dominio y otro que está en un grupo de trabajo.
La solución que se ofrece en este tutorial implica el uso de WinRM por HTTP con autenticación básica.
Esta configuración puede ser necesaria:
- Para gestionar servidores que no pertenecen a un dominio desde un ordenador que sí está en un dominio
- Para ejecutar scripts con Jenkins en un servidor que no pertenece a un dominio
- Con Ansible
- …
Para que lo entiendas mejor:
- Cliente: servidor que se va a conectar a un host remoto
- Servicio: servidor que va a recibir la conexión
Empezaremos por la configuración del servidor remoto (el que está fuera del dominio).
Los comandos deben ejecutarse en una ventana de PowerShell
El primer paso es comprobar que WinRM (Gestión remota) está correctamente configurado.
Si aún no lo ha hecho, configure WinRM con el siguiente comando:
winrm quickconfigComprueba que el servicio WinRM esté en marcha:
Get-Service WinRMComprueba la configuración del servicio:
winrm get winrm/config/serviceAhora pasaremos a la configuración de nuestro servidor de destino; para poder conectarnos a él, tendremos que habilitar la autenticación básica y permitir el tráfico no cifrado.
Activa la autenticación básica:
winrm set winrm/config/service/auth '@{Basic="true"}'Permite el tráfico no cifrado:
winrm set winrm/config/service '@{AllowUnencrypted="true"}'El servidor que va a recibir las conexiones ya está listo. Ahora hay que configurar el cliente (el servidor desde el que nos vamos a conectar).
Abre una ventana de PowerShell.
Activa la autenticación básica en el cliente:
winrm set winrm/config/client/auth '@{Basic="true"}'Permitir el tráfico sin cifrar desde el cliente:
winrm set winrm/config/client '@{AllowUnencrypted="true"}'El último paso consistirá en configurar el cliente para indicarle que puede conectarse a cualquier host:
Set-Item WSMan:localhost\client\trustedhosts -value *El comando te pedirá una confirmación
Es posible probar la conexión con el siguiente comando:
winrm identify -r:http://remote_server:5985 -auth:basic -u:user -p:password -encoding:utf-8Para conectarse, utilice el cmdlet Enter-PSSession:
Enter-PSSession -ComputerName IP_or_DNS -Authentification basic -Credential AdministratorEl uso de esta configuración no es seguro, ya que el tráfico no está cifrado.
