¿Hay alguna alternativa a Clusterssh, pssh, etc. para administrar múltiples servidores basados en ssh a través de una interfaz?
Una debilidad en Clusterssh es que mis servidores usan autenticación basada en clave, con contraseña para iniciar sesión, y no hay forma de iniciar sesión en los servidores utilizando la clave privada.
¿Hay alguna alternativa disponible que admita la autenticación con claves privadas?
linux
ssh
cluster
remote-access
Farhan
fuente
fuente
pssh
? ¿Necesita paralelo o simplemente un programa para administrar múltiples servidores SSH?pssh
la-P
opción.Respuestas:
Echa un vistazo a Rundeck - http://rundeck.org/
fuente
Tela
Defina sus tareas primero:
Luego, ejecutando a través de la
fab
herramienta de línea de comandos:fuente
Puede ir por completo e instalar un sistema de gestión de configuración como Puppet o Chef . No ha mencionado cuántos nodos realmente está tratando de administrar, por lo que esto podría ser excesivo, pero, ciertamente, puede controlar centralmente muchas máquinas de esta manera. Si usted es pequeño en este momento, pero está creciendo, es posible que también desee configurar, por ejemplo, Chef, antes de crecer mucho más.
Si necesita ejecutar comandos ad hoc sobre un conjunto específico de nodos, puede hacer algo como
knife ssh 'roles:webserver' 'hostname'
(cuchillo es la herramienta de línea de comandos para chef) para ejecutar elhostname
comando para todos los nodos que tienen el rol de servidor web.fuente
Yo uso esperan que las secuencias de comandos para automatizar los inicios de sesión (sobre todo porque tengo que pasar a través de una caja de jumb y entro en un chroot y se debe introducir una gran cantidad de contraseñas) e hicieron algunos "retoques" para la configuración de cssh. Por lo tanto, tengo este "script principal" en mi carpeta bin que, dado un "nombre / alias del servidor", me lleva al servidor que quiero y donde quiero.
En ~ / .clusterssh / config, configuré el parámetro "ssh" para que apunte a mi script, también "ssh_args" debe configurarse en algún argumento inocuo / falso, porque cssh tiene su lista de argumentos predeterminada, si se deja vacía en realidad la lista predeterminada terminará siendo para el script.
Entonces, el script (en cada ventana / terminal) recibirá estos args y 1 de los args dados al cssh, el script que recupera de un archivo para el servidor dado las credenciales establecidas y los pasos que debe seguir para llegar a donde Quiero, luego llama al "código de espera" con todos esos datos.
~ / .clusterssh / config
qs.sh
así que generalmente lo llamo con algo como esto
también funciona con "alias de clúster" que tienen el clúster "qAll q4 q5 q6 q7" Puedo llamar con cssh qAll
Espera que ayude a alguien más.
fuente
Prefiero shmux para ejecutar el mismo comando en muchos hosts en paralelo.
fuente
También debe mirar MCollective , que es probablemente la mejor y más flexible forma de interactuar con múltiples servidores en tiempo real. Es un poco difícil de configurar correctamente y puede ser un poco exagerado para sus necesidades, pero ciertamente supera a pssh, Clusterssh y todas las demás soluciones basadas en SSH. Y una vez que lo tenga en su lugar, probablemente no haya nada que no pueda hacer con él, siempre que conozca un poco de Ruby.
fuente
Me hice la misma pregunta, ya que encontré molesta la dependencia de clusterssh de X11 o XQuartz en Mac OS X, y además las ventanas de terminal abiertas por clusterssh se veían más feas que las de Terminal.app
Así es como me topé con un script basado en tmux de Joerg Jaspert en su blog: http://blog.ganneff.de/blog/2013/03/tmux---like-screen-just-nicer.html
fuente
El indicador bash funciona para cosas simples:
haga una lista de servidores en server.txt, una línea por servidor.
entonces hazlo:
fuente