Comment démarrer des machines VMWare ou tout autre programme à distance sur Windows par ssh?


0

J'ai une belle machine Windows 7 à 8 cœurs sur laquelle j'ai déployé plusieurs machines virtuelles dans VMWare Workstation. Je souhaite pouvoir lancer la machine virtuelle à distance, en exécutant une opération du type "vmrun -T ws H: \ VMWare \ VM1 \ VM1.vmx nogui". Je peux supposer qu’un utilisateur est toujours connecté à l’hôte et que c’est toujours le même.

La commande fonctionne correctement localement, mais le problème vient du fait que j'essaie de l'exécuter à distance.

Faire cela avec ssh de cygwin est impossible, car vmrun a besoin d'accéder à l'écran local, ce qui, à ma connaissance, est impossible dans ssh de cygwin, car il s'exécute en tant que service Windows. Je sais que je pourrais écrire deux applications pour contourner le problème, l'une lancée lors de la connexion de l'utilisateur et l'autre invoquée par l'utilisateur distant qui envoie des commandes à la première par IPC. J'ai le sentiment que quelqu'un a déjà écrit une telle application, alors je n'ai pas besoin de perdre du temps à réinventer la roue.

Je ne pense pas que les autres moyens de communication qui reposent sur les informations d'identification Windows soient suffisamment sûrs. Par conséquent, je préfère ne pas utiliser d'outils tels que psexec qui peuvent être facilement détectés et déchiffrés à l'aide de tables arc-en-ciel (je n'ai pas de serveur Radius). Ou peut-être je me trompe et ils sont en sécurité?

Réponses:


0

Je fais exactement cela tout le temps en utilisant Cygwin sshpour procéder à la redirection de port sur 3389. Ensuite, vous pouvez RDP sur votre station de travail (qui se trouve sur le tunnel ssh, ce qui devrait dissiper vos inquiétudes concernant les informations d'identification de Windows), démarrer une station de travail VM et y jouer. Les ordinateurs virtuels que vous voulez et sortez.


Oui, c’est la solution que j’utilise actuellement, mais je l’évite plutôt, car on ne peut pas la scripter. J'ai 8 machines virtuelles et ce serait vraiment bien de pouvoir les lancer en séquence par programme.
Adam Ryczkowski

0

Vous pouvez exécuter la commande à distance assez facilement en utilisant PsExec. Bien entendu, il dépend des mécanismes d’authentification Windows pour fonctionner.


0

Enfin, j'ai trouvé la solution qui me convient le mieux:

Le but est de ne pas exécuter sshd en tant que service Windows, mais à partir du démarrage personnel de l'utilisateur (éventuellement en tant que fenêtre masquée). C'est tout. La seule astuce ici est que je dois l'exécuter en tant que processus élevé.

Pour lancer cygwin sshd de manière interactive dans Windows 7, procédez comme suit. (Je suppose que cygwin est installé sur C:\cygwinet qu’il contient le opensshpaquet):

  1. Définissez le sshdservice dans l'applet Outils d'administration \ services sur "Lancement manuel" ou "Désactivé"
  2. S'approprier le C:\cygwin\var\emptydossier
  3. (facultatif - pour le débogage) Assurez-vous que lorsque vous exécutez /usr/bin/sshd -Dune invite cygwin élevée, vous obtenez un accès ssh à votre hôte.
  4. (facultatif - pour le débogage) Assurez-vous que lorsque vous lancez à C:\cygwin\bin\run -p C:\cygwin\bin /usr/sbin/sshd -Dpartir d'une invite de commande avec privilèges élevés, vous obtenez toujours le même accès qu'au point 3. N'oubliez pas de tuer le sshd.exeprocessus par la suite à l'aide du gestionnaire de tâches.
  5. Créez une nouvelle tâche qui lance cette commande sous les informations d'identification élevées juste après votre connexion. Voir ce fil de discussion pour savoir comment faire cela
  6. Connectez-vous avec ssh à partir de l'hôte distant et exécutez la vmrun -T ws start ...commande comme vous le feriez localement, et tout fonctionne comme prévu.

J'espère que cela aidera ceux d'entre vous qui préfèrent s'en tenir à l'autorisation de ssh pour effectuer des tâches administratives.

Veuillez noter que pour que cela fonctionne, l'utilisateur doit réellement se connecter à l'hôte (je pense qu'il est préférable de le faire de manière interactive (c'est-à-dire sans passer par le protocole RDP), mais je n'ai pas testé cette théorie); cette solution convient donc mieux à la maison. / small office network, et peut-être ne convient-il pas à un serveur dédié, à moins que vous ne le configuriez avec "autologon" (mais la connexion automatique a ses propres problèmes de sécurité qui peuvent facilement neutraliser les avantages de la désactivation du partage $ ADMIN)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.