Existe alguma alternativa ao Clusterssh, pssh etc, para gerenciar vários servidores baseados em ssh através de uma interface?
Um ponto fraco do Clusterssh é que meus servidores usam autenticação baseada em chave, com passhprase para efetuar login, e não há como fazer login em servidores usando a chave privada.
Existe alguma alternativa disponível que suporte autenticação com chaves privadas?
linux
ssh
cluster
remote-access
Farhan
fonte
fonte
pssh
? Você precisa de um programa paralelo ou apenas um para gerenciar vários servidores SSH?pssh
's-P
opção.Respostas:
Dê uma olhada no Rundeck - http://rundeck.org/
fonte
Tecido
Defina suas tarefas primeiro:
Em seguida, execute através da
fab
ferramenta de linha de comando:fonte
Você pode ficar louco e instalar um sistema de gerenciamento de configuração como Puppet ou Chef . Você não mencionou quantos nós realmente está tentando gerenciar; portanto, isso pode ser um exagero, mas certamente você pode controlar centralmente muitas máquinas dessa maneira. Se você é pequeno agora, mas está crescendo, também pode querer configurar, por exemplo, Chef, antes de ficar muito maior.
Se você precisar executar comandos ad hoc em um conjunto específico de nós, poderá executar algo como
knife ssh 'roles:webserver' 'hostname'
(faca é a ferramenta de linha de comando do chef) para executar ohostname
comando para todos os nós com a função de servidor da web.fonte
Eu uso scripts expect para automatizar os logins (especialmente porque tenho que passar por uma caixa de jumb e inserir um chroot e muitas senhas devem ser inseridas) e fiz alguns "ajustes" na configuração do cssh. Então, eu tenho esse "script principal" na minha pasta bin que, devido ao "nome / alias do servidor", leva-me ao servidor que desejo e para onde quero.
No ~ / .clusterssh / config, configurei o parâmetro "ssh" para apontar para o meu script, também "ssh_args" deve ser definido como algum argumento inócuo / falso, é porque o cssh tem sua lista de argumentos padrão, se deixado vazio na verdade a lista padrão acabará sendo no script.
Portanto, o script (em cada janela / terminal) receberá esses argumentos e 1 dos argumentos fornecidos ao cssh, o script que recupera de um arquivo para o servidor especificado, as credenciais definidas e as etapas que ele deve executar para chegar onde Eu quero, então ele chama o "código esperado" com todos esses dados.
~ / .clusterssh / config
qs.sh
então eu costumo chamá-lo com algo assim
está funcionando também com "aliases de cluster" com o cluster "qAll q4 q5 q6 q7" posso chamar com cssh qAll
Espera que ajude mais alguém.
fonte
Eu prefiro o shmux para executar o mesmo comando em muitos hosts em paralelo.
fonte
Você também deve examinar o MCollective , que é provavelmente a melhor e mais flexível maneira de interagir com vários servidores em tempo real. É um pouco complicado configurar corretamente e pode ser um pouco exagerado para as suas necessidades, mas certamente supera o pssh, o Clusterssh e todas as outras soluções baseadas em SSH. E uma vez instalado, provavelmente não há nada que você não possa fazer, desde que conheça um pouco de Ruby.
fonte
Fiz a mesma pergunta a mim mesmo, pois achei a dependência do clusterssh no X11 ou XQuartz no Mac OS X irritante e, além disso, as janelas do terminal abertas pelo clusterssh pareciam mais feias do que as do Terminal.app
Foi assim que me deparei com um script baseado em tmux de Joerg Jaspert em seu blog: http://blog.ganneff.de/blog/2013/03/tmux---like-screen-just-nicer.html
fonte
O prompt do bash funciona para coisas simples:
faça uma lista de servidores em servers.txt, uma linha por servidor.
então faça:
fonte