Разрыв канала при попытке запустить локальный скрипт с локальным входным файлом на кластере, доступ к которому осуществляется через удаленный хост с использованием SSH

Разрыв канала при попытке запустить локальный скрипт с локальным входным файлом на кластере, доступ к которому осуществляется через удаленный хост с использованием SSH

Я пытаюсь запустить локальный скрипт (например, hostname.sh) в кластере на удаленной машине с помощью SSH, но получаю следующую ошибку:

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

Файл hostname.sh просто выводит имя хоста в этом примере, но в целом может быть более сложным. Ошибка, скорее всего, вызвана неправильным использованием pipe, так как работает следующее:

ssh -A _remote ssh -A _cluster hostname
> _cluster_name

Я пробовал несколько решений, но все они терпят неудачу, так как так или иначе они сводятся к ssh на _remote и затем попытке прочитать hotsname.sh, который в этом случае недоступен. Что работает, так это копирование hostname.sh на _remote, SSH на remote и затем запуск:

ssh _cluster "bash" < hostname.sh

Но это означает, что мне придется постоянно синхронизировать hostname.sh между локальной и удаленной машинами.

Любая помощь будет оценена по достоинству.

Связанный контент