Exécution du script Shell sur plusieurs servers

Est-il possible d'exécuter une partie du script ksh / sh sur un server puis ssh sur un autre server et continuer avec le rest du script? ou y a-t-il un moyen de contourner? Quelqu'un a eu l'expérience avec ça?

voici quelques détails:

J'ai un user avec lequel je n'ai pas à m'authentifier chaque fois que j'accède à un server, donc je peux passer d'un server à l'autre sans aucune interaction avec le keyboard

J'ai déjà essayé cela, je voulais séparer la logique dans un autre script alors:

MYSCRIPT="nohup ksh myscript.ksh > mylog.log &" ssh servername ${MYSCRIPT} 

J'ai essayé ceci mais il ne semble pas exécuter ce script sur un autre server

et encore une chose, tout le code ci-dessus fait partie de la boucle for et j'exécute essentiellement le même script pour la list des servers.

À des fins de test, la list comporte deux servers, pour des raisons bizarres et tordues, seul le script server dernier / second fonctionne comme prévu.

un autre détail:

tout le server peut voir myscript.ksh il est visible et exécutable à tous

On dirait que vous voulez exécuter une séquence de commands sur un autre server sans avoir à vous connecter plusieurs fois. Pour accomplir ceci, vous pourriez faire:

 local_command sequence ssh remote-server << End-Of-File remote_command 1 remote_command 2 remote_command 3 End-Of-File 

Cela exécutera remote_command 1 , et quand il finira, exécutez remote_command 2 , puis remote_command 3 sur le server distant

Pour être honnête, votre formulation est un peu vague, mais nous allons find les causes possibles:

Ce que vous avez décrit devrait fonctionner correctement, mais voir la source ssh-copy-id pour searchr les différences avec votre propre script (c'est un script shell fourni avec OpenSSH).

Vous avez mentionné que la command ne fonctionne pas sur l'une de vos machines, peut-être que le server a une configuration différente empêchant le script de démarrer en premier lieu.

Vous avez également mentionné l'authentification, donc je suppose que vous utilisez une authentification par key publique sans mot de passe, et vous pouvez limiter les commands autorisées avec la key associée: voir man ssh , section AUTHORIZED_KEYS FILE FORMAT .