Tubería rota al intentar ejecutar un script local con un archivo de entrada local en un clúster al que se accede a través de un host remoto mediante SSH

Tubería rota al intentar ejecutar un script local con un archivo de entrada local en un clúster al que se accede a través de un host remoto mediante SSH

Estoy intentando ejecutar un script local (por ejemplo, hostname.sh) en un clúster en una máquina remota usando SSH pero aparece el siguiente error:

> ssh -A _remote ssh -A _cluster 'bash' < hostname.sh
stdout: write: Broken pipe

El archivo hostname.sh simplemente genera el nombre del host en este ejemplo, pero en general puede ser más complejo. Es probable que el error se deba al uso incorrecto de la tubería, ya que funciona lo siguiente:

ssh -A _remote ssh -A _cluster hostname
> _cluster_name

He probado varias soluciones, pero todas fallan porque de una forma u otra se reducen a ssh a _remote y luego intento leer hotsname.sh, que en este caso no está disponible. Lo que funciona es copiar hostname.sh a _remote, SSH a remoto y luego ejecutar:

ssh _cluster "bash" < hostname.sh

Pero esto significa que tengo que sincronizar constantemente hostname.sh entre las máquinas locales y remotas.

Se agradece cualquier ayuda.

información relacionada