Prefiero usar cygwin y usar SSH para luego iniciar sesión en la máquina de Windows para ejecutar comandos. Tenga en cuenta que, de forma predeterminada, cygwin no tiene OpenSSH instalado.
Una vez que tenga SSH funcionando en la máquina con Windows, puede ejecutar un comando desde la máquina con Linux como este:
ssh [email protected] 'mycommand.exe'
También puede configurar claves de autenticación ssh para que no tenga que ingresar una contraseña cada vez.
Repasemos las diversas opciones que mencionaste:
- psexec :Esto es más o menos una cosa sólo para PC. Además, debe asegurarse de que las máquinas Windows más nuevas puedan pasar por el UAC que está configurado de manera predeterminada. UAC es lo que ve todo el tiempo en Vista y Windows 7 cuando intenta hacer algo que requiere privilegios de administrador. Puede probar algo llamado winexe, que es un programa de Linux que puede hacer el psexec protocolo, pero he tenido problemas para que funcione.
- Abrir SSH :Hay dos sabores principales de SSH, y Open SSH es el que usa la gran mayoría de los sitios. SSH tiene varias ventajas sobre otros métodos:
- SSH es seguro :el tráfico de su red está encriptado.
- SSH puede ser independiente de la contraseña :Puede configurar SSH para usar claves privadas/públicas. De esta manera, ni siquiera tiene que saber la contraseña en el servidor remoto. Esto lo hace más seguro ya que no tiene contraseñas almacenadas en varios sistemas. Y, en muchos sitios de Windows, las contraseñas deben cambiarse cada mes o la cuenta se bloquea.
- SSH puede hacer más que simplemente ejecutar comandos remotos :Hay dos subprotocolos en SSH llamados SCP y SFTP. Estos le permiten transferir archivos entre dos máquinas. Ya que funcionan sobre SSH , obtendrá todas las ventajas de SSH incluidos paquetes cifrados y protección de clave pública/privada.
- SSH está bien implementado en el mundo Unix :encontrará clientes SSH integrados en Ant, Maven y otras herramientas de compilación. Los programas como CVS, Subversion y Git también pueden funcionar a través de conexiones SSH. Desafortunadamente, Windows World opera en una dimensión de espacio-tiempo diferente. Para usar SSH en un sistema Windows se requiere un software de terceros como Cygwin.
- Cygwin :Cygwin es una especie de bestia extraña. Es una capa sobre Windows que permite que muchas de las bibliotecas de Unix/GNU funcionen en Windows. Originalmente fue desarrollado para permitir a los desarrolladores de Unix ejecutar su software en
Windowssistemas DOS. Sin embargo, Cygwin ahora contiene un sistema completo similar a Unix que incluye herramientas como Perl y Python, shell BASH y muchas utilidades como un servidor SSH. Dado que Cygwin es de código abierto, puede descargarlo de forma gratuita y ejecutar el servidor SSH. Desafortunadamente, he tenido problemas con el servidor SSH de Cygwin. Otro problema:si está ejecutando programas de forma remota, probablemente desee ejecutarlos en un entorno de Windows y no en el entorno de Cygwin.
Te recomiendo que mires WinSSHD de Bitvise. Es una implementación de OpenSSH del servidor SSH, pero no es de código abierto. Cuesta alrededor de $ 100 por licencia y necesita una licencia en cada servidor. Sin embargo, es una implementación robusta y tiene todas las funciones que ofrece SSH.
Puede consultar CoSSH, que es un paquete de utilidades Cygwin y un servidor OpenSSH. Esto es gratis y de código abierto, pero si desea una forma fácil de configurarlo, debe pagar la Consola de administrador avanzado. No necesita la Consola de administrador avanzada, ya que puede usar Cygwin para configurar todo, y viene con una consola básica para ayudar.