Добавить в корзинуПозвонить
Найти в Дзене
Linux Pages

Удаленное выполнение команд с помощью команды ssh

Помимо входа в удаленную оболочку, команда ssh может использоваться для удаленного выполнения команды и возврата выходных данных в локальную систему, например: $ ssh Fedor@10.111.66.23 hostname Fedor@10.111.66.23's password: ********** host01.example.com В примере команда hostname выполняется от имени пользователя Fedor в системе Linux, расположенной по IP-адресу В примере команда hostname выполняется от имени пользователя johndoe в системе Linux, расположенной по IP-адресу 10.111.66.23. Выходные данные команды — это имя удаленного хоста (в данном случае host01.example.com), который появляется на локальном экране. Если вы запускаете команду удаленного выполнения ssh , которая включает параметры или аргументы, обязательно заключите всю удаленную командную строку в кавычки. Имейте в виду, что, если вы ссылаетесь на файлы или каталоги в удаленных командах, относительные пути интерпретируются по отношению к домашнему каталогу пользователя, как показано далее: $ ssh Fedor@10.111.66.23 "cat

Помимо входа в удаленную оболочку, команда ssh может использоваться для удаленного выполнения команды и возврата выходных данных в локальную систему, например:

$ ssh Fedor@10.111.66.23 hostname

Fedor@10.111.66.23's password: **********

host01.example.com

В примере команда hostname выполняется от имени пользователя Fedor в системе Linux, расположенной по IP-адресу В примере команда hostname выполняется от имени пользователя johndoe в системе Linux, расположенной по IP-адресу 10.111.66.23. Выходные данные команды — это имя удаленного хоста (в данном случае host01.example.com), который появляется на локальном экране.

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

$ ssh Fedor@10.111.66.23 "cat myfile"

Fedor@10.111.66.23's password: **********

Contents of the myfile file located in johndoe's home directory.

В примере команда ssh переходит на удаленный хост, расположенный по адресу В примере команда ssh переходит на удаленный хост, расположенный по адресу 10.111.66.23, и запускает команду cat myfile от имени пользователя Fedor.

Это приводит к отображению содержимого файла myfile из этой системы на локальном экране.

Другой тип удаленного выполнения, который можно реализовать с помощью ssh, — это переадресация X11 (X Window System, версия 11). Если на сервере включена переадресация X11 (в файле /etc/sshd/sshd_config установлен параметр X11Forwarding yes), можете безопасно запускать графические приложения с сервера по SSH-соединению с помощью команды ssh -X. Для нового администратора

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

, и запускает команду cat myfile от имени пользователя Fedor.

Это приводит к отображению содержимого файла myfile из этой системы на локальном экране.

Другой тип удаленного выполнения, который можно реализовать с помощью ssh, — это переадресация X11 (X Window System, версия 11). Если на сервере включена переадресация X11 (в файле /etc/sshd/sshd_config установлен параметр X11Forwarding yes), можете безопасно запускать графические приложения с сервера по SSH-соединению с помощью команды ssh -X. Для нового администратора

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

$ ssh -X Fedor@10.111.66.23 system-config-printer

Fedor@10.111.66.23's password: **********

После выполнения этой команды вам будет предложено ввести пароль администратора. Затем появится окно Printers (Принтеры), которое позволяет настроить принтеры. По окончании просто закройте окно, и локальное приглашение вернется.

Это можно сделать для любого графического инструмента администрирования или для обычных X-приложений, таких как графический редактор gedit (тогда не придется применять vi).

Если вы хотите выполнить несколько команд X , но не хотите каждый раз

повторно подключаться, используйте переадресацию X11 непосредственно из удаленной оболочки. Поместив команды в фоновый режим, вы сможете иметь несколько удаленных приложений X, работающих на вашем локальном рабочем столе одновременно, например:

$ ssh -X Fedor@10.111.66.23

Fedor@10.111.66.23's password: **********

$ system-config-printer &

$ gedit &

$ exit

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