Considerando o fato de que o Windows não vem com o SSH pronto para uso, você terá que configurá-lo em todas as suas caixas atuais nas quais você implantou.
Claro que você pode configurar um script de instalação para automatizar isso com um script de shell via psexec:)
Isso realmente depende do seu caso de uso.
Qual é a importância da segurança?
O SSH foi projetado como um substituto para o telnet. Ele fornece um shell na máquina remota, como o telnet, mas todos os dados são enviados através de um túnel seguro, portanto, se alguém estiver detectando pacotes, todos os dados serão criptografados.
O SSH geral é muito mais versátil. Você pode configurar o encaminhamento de TCP para que outros aplicativos possam usar seu túnel SSH para se comunicar. Um exemplo disso seria o VNC. Normalmente, o buffer de quadros remotos (seus dados de tela) são enviados sem criptografia pela rede. Você pode se conectar facilmente à máquina remota via SSH e usar o túnel SSH para enviar os dados da tela de maneira segura.
O PSEXEC é uma ótima ferramenta para o que você descreve acima. Não requer configuração extra (cozido no Windows).
PSEXEC usa RPC (Remote Procedure Calls) para se comunicar. Acredito que, uma vez estabelecido o "canal de comunicação", os dados são criptografados, embora eu não tenha certeza absoluta dos métodos utilizados (o SSH pode ser configurado de várias maneiras).
No entanto, se você precisar fornecer credenciais de usuário, ele enviará pela rede in PLAIN TEXT
. Eu acredito que isso pode ser escrito na saída do comando psexec /?
. Embora eu não esteja na frente de uma caixa de janelas no momento para verificar.
Veja este LINK para opções, ele tem uma observação sobre isso antes da seção de exemplos.
Então, novamente, depende do que você precisa fazer. Tanto quanto a estabilidade. Eu nunca tive problemas de estabilidade com o PSEXEC. Eu não diria que a estabilidade seria uma razão para considerar o SSH sobre o PSEXEC, a menos que você tenha problemas com o PSEXEC.
O PSEXEC não é tão configurável quanto o SSH. A menos que você esteja enfrentando as limitações do PSEXEC, talvez seja necessário considerar o SSH. Se você está simplesmente copiando um novo código e reiniciando máquinas remotas e não passando credenciais através do PSEXEC (ou seja, executando os comandos através do seu nome de usuário atual no controle remoto), por que não continuar fazendo isso?
Na verdade, se você só precisa copiar e reiniciar porque não basta usar alguns comandos cmd.exe
como copy
/ xcopy
/ shutdown
(se estiver na sua LAN ou se tiver outra rota para isso como através de VPN) em vez de PSEXEC?