Запуск локального скрипта на удаленной машине

Я хочу запустить скрипт, который присутствует на локальном компьютере, но он должен выполнять операции на удаленном компьютере. Я уже сгенерировал открытые и закрытые ключи, поэтому аутентификация по паролю не требуется

2
задан 17 April 2014 в 10:01

2 ответа

ssh хороший гражданин Unix; мы можем передать его, мы можем перенаправить его выходные данные и любым удобным для них способом.

ssh user@host sh < your_script.sh

Эта команда является перенаправлением: ваша оболочка откроет (локальный!) Файл your_script.sh и передаст его в качестве ввода для команды ssh. ssh, в свою очередь, передаст свой стандартный ввод удаленной команде, а именно, sh instance. sh без аргументов читает свой скрипт из stdin. Строго говоря, часть sh даже не нужна - ssh запускает оболочку по умолчанию - но это облегчает объяснение.

Итак, мы получили экземпляр sh, который запускается на удаленном хосте, но читает команды из вашего локального файла. Voila!

0
ответ дан 17 April 2014 в 10:01

Это ТА отвечает на ваш точный вопрос: bash - Как вы используете ssh в сценарии оболочки? - Переполнение стека

ssh user@host command
#for example
ssh user@host ls

Если у вас есть большой скрипт, который вы хотите выполнить. Затем вы можете скопировать скрипт на удаленный компьютер с помощью sftp, а затем выполнить его с помощью приведенной выше команды.

0
ответ дан 17 April 2014 в 10:01

Другие вопросы по тегам:

Похожие вопросы: