Deveríamos usar SSH ou psexec? Quais são os benefícios de cada um?

Deveríamos usar SSH ou psexec? Quais são os benefícios de cada um?

Nossa equipe de operações de desenvolvimento atualmente cria a fonte e a implanta nas caixas de destino - a configuração típica. Atualmente usamos psexec para emitir comandos para hosts remotos (ou seja, desligar os ambientes, transferir o novo código, inicializar os ambientes, etc.)

Estaríamos melhor usando SSH para essas coisas? Seria mais confiável/fácil de usar? Alguém poderia me ajudar a entender os prós/contras de cada um?

Responder1

Considerando o fato de que o Windows não vem com SSH pronto para uso, você terá que configurá-lo em todas as caixas atuais nas quais você implanta.

Claro que você pode configurar um script de instalação para automatizar isso com um script de shell via psexec :)

Realmente depende do seu caso de uso.

Quão importante é a segurança?

O SSH foi projetado como um substituto do 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 farejando pacotes, todos os dados serão criptografados.

No geral, o SSH é muito mais versátil. Você pode configurar o encaminhamento 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 remoto (seus dados de tela) é enviado sem criptografia pela rede. Você pode conectar-se facilmente à máquina remota via SSH e usar o túnel SSH para enviar os dados da tela de maneira segura.

PSEXEC é uma ótima ferramenta para o que você descreveu acima. Não requer nenhuma configuração extra (incorporada ao Windows).

PSEXEC usa RPC (chamadas de procedimento remoto) para se comunicar. Acredito que uma vez estabelecido o "canal de comunicação", os dados são criptografados, embora não tenha certeza dos métodos usados ​​(o SSH pode ser configurado de várias maneiras).

No entanto, se você precisar fornecer credenciais de usuário, ele será enviado pela rede in PLAIN TEXT. Acredito que isso pode estar escrito na saída do psexec /?comando. Embora eu não esteja na frente de uma caixa do Windows no momento para verificar.

Veja issoLINKpara opções, há uma observação sobre isso antes da seção de exemplos.

Então, novamente, realmente depende do que você precisa fazer. No que diz respeito à estabilidade. Na verdade, nunca tive problemas de estabilidade com o PSEXEC. Eu não diria que a estabilidade seria um motivo para considerar o SSH em vez do PSEXEC, a menos que você tenha problemas ao usar o PSEXEC.

PSEXEC não é tão configurável quanto 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, por que não usar alguns cmd.execomandos como copy/ xcopy/ shutdown(se estiver na sua LAN ou se você tiver outra rota para ele, como através de VPN) em vez de PSEXEC?

informação relacionada