База знаний по Open Source
Yandex поиск по всему сайту
Авторизация

Запуск команд на удаленном компьютере через SSH-подключение

Протокол SSH, помимо работы в интерактивном режиме, поддерживает также разовый запуск команд или скриптов на удаленном компьютере под управлением ОС семейства Linux.

Синтаксис команды запуска удаленной команды:

ssh [пользователь]@[сервер] '[команда]'

Если доступ по ssh реализован по ключевой паре, то команда выполнится немедленно. Если нет, то при запросе вводим пароль указанного пользователя и в консоли получаем вывод команды, если таковой имеется.

Например, получим информацию об установленной на удаленном сервере операционной системе:

ssh my_name@192.168.1.77 'uname -a'

Чтобы запустить несколько команд за одно подключение, можно использовать символ “;” в качестве разделителя. Проверим время работы удаленного компьютера, его загрузку и запросим все активные сетевые подключения на удаленном компьютере:

ssh  my_name@192.168.1.77 'uptime; netstat -anp tcp'

В случае, если потребуется запустить на удаленном сервере локальный файл скрипта, то потребуется в SSH-подключении вызвать командный интерпретатор в режиме исполнения сценария (например, bash с ключом -s), и на стандартный ввод передать ему файл скрипта. Команда запуска локального скрипта на удаленном компьютере будет выглядеть примерно так:

ssh  my_name@192.168.1.77 'bash -s' < /home/user/anycript.sh

В результате скрипт в локальном файл /home/user/anyscript.sh исполнится на удаленном сервере.