PSSession entre un serveur dans un domaine et un serveur en Workgroup

Dans ce tutoriel, je vais vous donner la configuration à faire sur les serveurs à faire de pouvoir vous connectez entre un ordinateur qui est dans un domaine et un autre en Workgroup à avec une session PowerShell.

La solution donnée dans ce tutoriel implique d’utiliser WinRM en HTTP avec une authentification basique.

Cette configuration peut être nécessaire :

  • Pour gérer des serveurs hors domaine depuis un ordinateur qui est dans un domaine
  • Pour exécuter des scripts avec Jenkins sur un serveur hors domaine
  • Avec Ansible

Pour votre compréhension :

  • Client : serveur qui va se connecter à hôte distant
  • Service : serveur qui va recevoir la connexion

On va commencer par la configuration du serveur distant (celui hors domaine).

Les commandes sont à exécuter dans une fenêtre PowerShell

La première étape est de vérifier que WinRM (Gestion à distance) est bien configuré.

Si vous ne l’avez pas déjà fait, configurer WinRM à l’aide la commande ci-dessous :

winrm quickconfig

Vérifier que le service WinRM est démarré :

Get-Service WinRM

Vérifier la configuration du service :

winrm get winrm/config/service

On va maintenant passer à la configuration sur notre serveur cible, afin de pouvoir se connecter dessus, nous allons devoir activer l’authentification basique et autoriser le trafic non chiffré.

Active l’authentification basique :

winrm set winrm/config/service/auth '@{Basic="true"}'

Autoriser le trafic non chiffré :

winrm set winrm/config/service '@{AllowUnencrypted="true"}'

Le serveur qui va recevoir les connexions est prêt. Il faut maintenant configurer le client (le serveur depuis lequel on va se connecter).

Ouvrir une invite PowerShell.

Activer l’authentification basique sur le client :

winrm set winrm/config/client/auth '@{Basic="true"}'

Autoriser le traffc non chiffré depuis le client :

winrm set winrm/config/client '@{AllowUnencrypted="true"}'

La dernière étape va être de configurer le client pour lui indiquer que l’on peut se connecter sur n’importe quel hôte :

Set-Item WSMan:localhost\client\trustedhosts -value *

La commande vous demande une confirmation

Il est possible de tester la connexion à l’aide de la commande suivante :

winrm identify -r:http://remote_server:5985 -auth:basic -u:user -p:password -encoding:utf-8

Pour vous connecter, utiliser la cmdlet Enter-PSSession :

Enter-PSSession -ComputerName IP_or_DNS -Authentification basic -Credential Administrator

L’utilisation de cette configuration n’est pas sécurisé du fait que le trafic n’est pas chiffré.




Laisser un commentaire