Инструмент по вашему выбору ssh
.
Просто вызовите ssh user@remoteHost remoteScript
для запуска вызова в локальной системе с удаленного сервера Unix. Смотрите man ssh
для более подробной информации.
Если сценария еще нет на конечном компьютере, у вас есть два способа его выполнить.
через scp
function remoteCallSCP() { # <remoteAccount> <script> <interpreter> [arguments}
local remoteAccount=${1}
local script=${2}
shift scriptRunner=${3}
shift 3 # script arguments are following
local tmpFile=$(mktemp) # not perfect, but 99% good
scp ${script} ${remoteAccount}:${tmpFile} # executable bit is lost
ssh ${remoteAccount} ${scriptRunner} ${tmpFile}
}
через ssh и stdin
function remoteCallStdIn() { # <remoteAccount> <script>
local remoteAccount=${1}
local script=${2}
ssh -T ${remoteAccount} <${script}
}
Опция -T
отключает псевдо-tty распределение. Что может помочь исправить некоторые странные проблемы.
Здесь отсутствуют следующие функции:
- Сценарий должен быть сценарием оболочки, совместимым с оболочкой по умолчанию для удаленной учетной записи.
- Аргументы командной строки не работают.
В качестве поддерживаемого обходного пути вы можете рассматривать пользовательские сгенерированные сценарии как входные данные, которые содержат интерпретатор и аргументы.