Ответы:
ssh user@remotehost "bash -s" < local_script.sh
-s делает bash прочитанным из стандартного ввода.
Если вам нужно передать аргументы в ваш скрипт:
ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"
Обратите внимание на двойную черту --(обозначающую конец параметров команды) и кавычки вокруг аргументов.
-s, и вам нужно , только bashесли вы действительно хотите заставить использовать bash. Обычно вы можете простоssh user@remotehost < local_script.sh
Ответ Phoibos работает для меня.
ssh user@remotehost "bash -s" < local_script.sh
Но вы должны быть уверены, что ваш скрипт явно вызывает exit, иначе вы останетесь в журнале на удаленном сервере после выполнения скрипта.
Короче говоря, не забудьте поставить это в конце local_script.sh:
exit 0