Preferisco usare cygwin e utilizzare SSH per accedere al computer Windows per eseguire i comandi. Tieni presente che, per impostazione predefinita, Cygwin non ha OpenSSH installato.
Una volta che SSH funziona sul computer Windows, puoi eseguire un comando su di esso dal computer Linux in questo modo:
ssh [email protected] 'mycommand.exe'
Puoi anche impostare chiavi di autenticazione ssh in modo da non dover inserire una password ogni volta.
Esaminiamo le varie opzioni che hai citato:
- psexec :Questa è praticamente una cosa solo per PC. Inoltre, devi assicurarti che i computer Windows più recenti possano superare l'UAC configurato per impostazione predefinita. UAC è la cosa che vedi sempre su Vista e Windows 7 quando provi a fare qualcosa che richiede i privilegi di amministratore. Puoi provare qualcosa chiamato winexe che è un programma Linux in grado di eseguire psexec protocollo, ma ho avuto problemi a farlo funzionare.
- OpenSSH :Esistono due tipi principali di SSH e Open SSH è quello utilizzato dalla stragrande maggioranza dei siti. SSH ha diversi vantaggi rispetto ad altri metodi:
- SSH è sicuro :il tuo traffico di rete è crittografato.
- SSH può essere indipendente dalla password :è possibile configurare SSH per utilizzare chiavi private/pubbliche. In questo modo, non devi nemmeno conoscere la password sul server remoto. Questo lo rende più sicuro poiché non hai password memorizzate su vari sistemi. E, in molti siti Windows, le password devono essere cambiate ogni mese circa o l'account è bloccato.
- SSH può fare molto di più che eseguire comandi remoti :Ci sono due sottoprotocolli su SSH chiamati SCP e SFTP. Questi ti consentono di trasferire file tra due macchine. Dal momento che lavorano su SSH , ottieni tutti i vantaggi di SSH inclusi pacchetti crittografati e protezione con chiave pubblica/privata.
- SSH è ben implementato nel mondo Unix :Troverai client SSH integrati in Ant, Maven e altri strumenti di compilazione. Programmi come CVS, Subversion e Git possono funzionare anche su connessioni SSH. Sfortunatamente, Windows World opera in una diversa dimensione spazio temporale. Per utilizzare SSH su un sistema Windows è necessario un software di terze parti come Cygwin.
- Cygwin :Cygwin è una specie di strana bestia. È un livello superiore a Windows che consente a molte delle librerie Unix/GNU di funzionare su Windows. È stato originariamente sviluppato per consentire agli sviluppatori Unix di eseguire il loro software su
Windowssistemi DOS. Tuttavia, Cygwin ora contiene un sistema completo simile a Unix che include strumenti come Perl e Python, shell BASH e molte utilità come un server SSH. Poiché Cygwin è open source, puoi scaricarlo gratuitamente ed eseguire il server SSH. Sfortunatamente, ho avuto problemi con il server SSH di Cygwin. Un altro problema:se stai eseguendo programmi in remoto, probabilmente vorrai eseguirli in un ambiente Windows e non nell'ambiente Cygwin.
Ti consiglio di guardare WinSSHD da Bitvise. È un'implementazione OpenSSH del server SSH, ma non è open source. Sono circa $ 100 per licenza e hai bisogno di una licenza su ogni server. Tuttavia, è un'implementazione robusta e ha tutte le funzionalità che SSH ha da offrire.
Puoi guardare CoSSH che è un pacchetto di utilità Cygwin e server OpenSSH. Questo è gratuito e tutto open source, ma se vuoi un modo semplice per configurarlo, devi pagare per la Console amministratore avanzata. Non hai bisogno della console di amministrazione avanzata poiché puoi utilizzare Cygwin per configurare tutto e viene fornita con una console di base per aiutarti.