Je préfère utiliser cygwin et utiliser SSH pour ensuite me connecter à la machine Windows pour exécuter des commandes. Sachez que, par défaut, cygwin n'a pas installé OpenSSH.
Une fois que SSH fonctionne sur la machine Windows, vous pouvez exécuter une commande dessus depuis la machine Linux comme ceci :
ssh [email protected] 'mycommand.exe'
Vous pouvez également configurer des clés d'authentification ssh pour ne pas avoir à saisir un mot de passe à chaque fois.
Passons en revue les différentes options que vous avez mentionnées :
- psexec :C'est à peu près une chose uniquement pour PC. De plus, vous devez vous assurer que les nouvelles machines Windows peuvent passer par l'UAC configuré par défaut. L'UAC est la chose que vous voyez tout le temps sur Vista et Windows 7 lorsque vous essayez de faire quelque chose qui nécessite des privilèges d'administrateur. Vous pouvez essayer quelque chose appelé winexe qui est un programme Linux qui peut faire le psexec protocole, mais j'ai eu des problèmes pour le faire fonctionner.
- OpenSSH :Il existe deux principales versions de SSH, et Open SSH est celui utilisé par la grande majorité des sites. SSH présente plusieurs avantages par rapport aux autres méthodes :
- SSH est sécurisé :Votre trafic réseau est chiffré.
- SSH peut être indépendant du mot de passe :Vous pouvez configurer SSH pour utiliser des clés privées/publiques. De cette façon, vous n'avez même pas besoin de connaître le mot de passe sur le serveur distant. Cela le rend plus sécurisé puisque vous n'avez pas de mots de passe stockés sur différents systèmes. Et, sur de nombreux sites Windows, les mots de passe doivent être changés tous les mois environ, sinon le compte est verrouillé.
- SSH peut faire plus que simplement exécuter des commandes à distance :Il existe deux sous-protocoles sur SSH appelés SCP et SFTP. Ceux-ci vous permettent de transférer des fichiers entre deux machines. Comme ils fonctionnent sur SSH , vous bénéficiez de tous les avantages de SSH y compris les paquets chiffrés et la protection des clés publiques/privées.
- SSH est bien implémenté dans le monde Unix :Vous trouverez des clients SSH intégrés à Ant, Maven et à d'autres outils de construction. Des programmes comme CVS, Subversion et Git peuvent également fonctionner sur des connexions SSH. Malheureusement, le monde Windows fonctionne dans une autre dimension spatio-temporelle. L'utilisation de SSH sur un système Windows nécessite un logiciel tiers tel que Cygwin.
- Cygwin :Cygwin est une sorte de bête étrange. C'est une couche au-dessus de Windows qui permet à de nombreuses bibliothèques Unix/GNU de fonctionner sur Windows. Il a été développé à l'origine pour permettre aux développeurs Unix d'exécuter leur logiciel sur
Windowssystèmes DOS. Cependant, Cygwin contient maintenant un système complet de type Unix comprenant des outils tels que Perl et Python, le shell BASH et de nombreux utilitaires tels qu'un serveur SSH. Puisque Cygwin est open source, vous pouvez le télécharger gratuitement et exécuter le serveur SSH. Malheureusement, j'ai eu des problèmes avec le serveur SSH de Cygwin. Autre problème :si vous exécutez des programmes à distance, vous souhaiterez probablement les exécuter dans un environnement Windows et non dans l'environnement Cygwin.
Je vous recommande de regarder WinSSHD de Bitvise. C'est une implémentation OpenSSH du serveur SSH, mais ce n'est pas open source. C'est environ 100 $ par licence et vous avez besoin d'une licence sur chaque serveur. Cependant, il s'agit d'une implémentation robuste et possède toutes les fonctionnalités que SSH a à offrir.
Vous pouvez regarder CoSSH qui est un package d'utilitaires Cygwin et de serveur OpenSSH. C'est gratuit et entièrement open source, mais si vous voulez un moyen simple de le configurer, vous devez payer pour la console d'administration avancée. Vous n'avez pas besoin de la console d'administration avancée puisque vous pouvez utiliser Cygwin pour tout configurer, et il est livré avec une console de base pour vous aider.