¿Deberíamos utilizar SSH o psexec? ¿Cuáles son los beneficios de cada uno?

¿Deberíamos utilizar SSH o psexec? ¿Cuáles son los beneficios de cada uno?

Nuestro equipo de operaciones de desarrollo actualmente construye el código fuente y lo implementa en los cuadros de destino: la configuración típica. Actualmente usamos psexec para emitir comandos a hosts remotos (es decir, cerrar los entornos, transferir el nuevo código, reiniciar los entornos, etc.)

¿Estaríamos mejor usando SSH para estas cosas? ¿Sería más confiable/fácil de usar? ¿Alguien podría ayudarme a comprender los pros y los contras de cada uno?

Respuesta1

Teniendo en cuenta el hecho de que Windows no viene con SSH listo para usar, tendrá que configurarlo en todas las cajas actuales en las que implemente.

Por supuesto, puedes configurar un script de instalación para automatizar esto con un script de shell a través de psexec :)

Realmente depende de su caso de uso.

¿Qué importancia tiene la seguridad?

SSH fue diseñado como reemplazo de telnet. Le proporciona un shell en la máquina remota como lo hace Telnet, pero todos los datos se envían a través de un túnel seguro, por lo que si alguien está rastreando paquetes, todos los datos se cifrarán.

En general, SSH es mucho más versátil. Puede configurar el reenvío TCP para que otras aplicaciones puedan usar su túnel SSH para comunicarse. Un ejemplo de esto sería VNC. Normalmente, el frame buffer remoto (los datos de su pantalla) se envía sin cifrar a través de su red. Puede conectarse fácilmente a la máquina remota a través de SSH y luego usar el túnel SSH para enviar los datos de la pantalla de forma segura.

PSEXEC es una gran herramienta para lo que describe anteriormente. No requiere configuración adicional (integrada en Windows).

PSEXEC utiliza RPC (llamadas a procedimientos remotos) para comunicarse. Creo que una vez que se establece el "canal de comunicación", los datos se cifran, aunque no estoy del todo seguro de los métodos utilizados (SSH se puede configurar de varias maneras).

Sin embargo, si necesita proporcionar alguna credencial de usuario, se enviará a través de la red in PLAIN TEXT. Creo que esto puede estar escrito en el resultado del psexec /?comando. Aunque no estoy frente a una ventana en este momento para verificarlo.

Mira estoENLACEpara las opciones, tiene una nota al respecto antes de la sección de ejemplos.

Nuevamente, realmente depende de lo que necesites hacer. En cuanto a la estabilidad. Realmente nunca he tenido problemas de estabilidad con PSEXEC. No diría que la estabilidad sería una razón para considerar SSH en lugar de PSEXEC a menos que tenga problemas para usar PSEXEC.

PSEXEC no es tan configurable como SSH. A menos que se encuentre con las limitaciones de PSEXEC, es posible que deba considerar SSH. Si simplemente está copiando código nuevo y reiniciando máquinas remotas y no pasando credenciales a través de PSEXEC (es decir, ejecutando los comandos a través de su nombre de usuario actual en el control remoto), ¿por qué no seguir haciéndolo?

De hecho, si solo necesita copiar y reiniciar, ¿por qué no usar algunos comandos cmd.execomo copy// (si está en su LAN o si tiene otra ruta como a través de VPN) en lugar de PSEXEC?xcopyshutdown

información relacionada