web-dev-qa-db-fra.com

Qu'est-ce qu'un bon outil SSH parallèle moderne?

J'ai entendu dire que pssh et clusterssh sont deux personnes populaires, mais je pensais que je l'ouvrirais à la discussion ici et voyez ce que les expériences de ces outils ont été? Quels sont les gothas? Des hacks ou des cas d'utilisation décents?

31
faultyserver

J'ai utilisé PSH et c'est facile et fonctionne assez bien. C'est vraiment génial pour des questions rapides.

Si vous vous trouvez à la gestion de serveurs, je suggère quelque chose de plus robuste et dans un domaine légèrement différent (gestion de la configuration) tel que Puppet ou Cfengine.

22
user7321

Il est important de savoir ce que vous voulez faire. Si vous souhaitez exécuter 'apt-get Update' sur de nombreux serveurs, CLUSTERSH serait un outil facile à utiliser et efficace. Voir l'article de Kyle Rankin sur Clustersh at The Linux Journal .

Si votre travail sur différents serveurs nécessitera des boucles logiques, de mettre, d'obtenir ou d'interagir autrement avec chaque hôte (ou éventuellement à interagir avec un hôte en raison d'une condition d'erreur) un outil tel que Tissu ( qui vient de frapper sa version 1.0) est inestimable. Vous profiterez probablement de la plupart des tissus si vous êtes un Pythonista.

Dans les deux cas, on s'attend probablement à faire des tâches assez simples sur les serveurs distants affectés et déposé spécialement sur tous les hôtes de problèmes. Cependant, le tissu fournit plus d'options pour traiter la variation.

Une chose qui n'est généralement pas bien gérée consiste à faire face à plusieurs hôtes derrière un hôte de passerelle, nécessitant celui de se connecter d'abord à la passerelle, puis de transfert de port à partir de là. Comme Ssh lui-même le fait tout simplement et on peut définir son .ssh/config fichier à quelque chose comme

Host gateway
    Port 9000
    User remoteadmin
    HostName datacentre1.com
    # mail
    LocalForward 9100 192.168.9.11:22
    # phones
    LocalForward 9101 192.168.9.12:22

Host dc1mail
    Port 9100
    Host 127.0.0.1
    User localadmin

Host dc1phones
    Port 9201
    Host 127.0.0.1
    User localadmin

Afin de faire l'équivalent de ssh dc1mail 'cmd' && ssh dc1phones 'cmd' on doit d'abord élever ssh gateway. Ce serait bien que des outils tels que Clustersh et Tissu permettraient que cela soit fait dans le cadre de leurs outils. Naturellement, vous pouvez le faire vous-même à la main.

9
rorycl

L'outil SSH Power Tool (SSHPT) a été conçu pour parallèle ssh sans nécessitant la configuration de l'utilisateur des touches SSH pré-partagées. Il est supérieur à PSH et Clustersh en ce sens qu'il prend en charge les exécutions via sudo et peut également copier des fichiers et les exécuter ensuite (éventuellement, via sudo). Par défaut, les résultats des résultats des CSV, mais SSHPT.PY Doubles sous forme de module importable Python afin que vous puissiez l'utiliser dans vos propres programmes (je l'utilisais pour l'utiliser comme back-end derrière la bande personnalisée sur mesure Outil de rapport à mon ancien employeur).

5
Dan McDougall

Mush est une bonne alternative, elle est déjà incluse dans de nombreuses distributions Linux.

MUSSH est un script shell qui vous permet d'exécuter une commande ou une script sur SSH sur plusieurs hôtes avec une commande. Lorsque possible MusH utilisera des touches SSH-Agent et RSA/DSA pour minimiser la nécessité de saisir votre mot de passe plus d'une fois.

4
Juliano

J'utilise CSSH et ça marche comme un charme. Vous pouvez modifier facilement le même fichier sur plusieurs serveurs, puis cocher une seule fenêtre et modifier la valeur d'instance de la variable particulière. Répétez cette opération pour chaque fenêtre, appuyez sur: WQ dans Vim et Voila! Le travail est fait ;)

C'est aussi un excellent outil de mise à niveau d'aptitude.

3
ahes

Il y a aussi DSH pour les courses SSH parallèles.

3
hayalci

Mon outil SSH parallèle préféré est pussh ... IMO La syntaxe est plus intuitive que tout autre paquetage similaire disponible, et il n'a pas réellement besoin d'installation en tant que RPM, compilation ou autre chose d'autre. Il suffit de télécharger comme quelques scripts et travaille simplement.

2
Pete Best