УДАЛЁННЫЙ ДОСТУП В LINUX
Цель работы: ознакомиться со средствами удаленного управления в операционной системе Linux. Приобрести опыт и навыки управления удаленным доступом Linux.
Краткие сведения из теории:
Средства для работы с Сетью встроены непосредственно в ядро этой операционной системы, а все необходимое программное обеспечение для организации сервера входит в состав дистрибутива. UNIX-система работает со сетевыми протоколами (особенно с TCP/IP).
Удалённый доступ к серверу по протоколу SSH
SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).
Демон – программа, работающая в фоновом режиме без прямого общения с пользователем.
Демоны обычно запускаются во время загрузки системы.
Типичные задачи демонов: серверы сетевых протоколов (HTTP, FTP, электронная почта, сервер удалённого доступа (например, ssh) и др.), управление оборудованием, поддержка очередей печати, управление выполнением заданий по расписанию и т.д. В техническом смысле демоном считается процесс, предком которого является init — корневой процесс UNIX.
В системах Windows аналогичный класс программ называется «Службы» (англ. Services), которые тоже иногда называют демонами.
sudo /etc/init.d/ssh restart
(restart – перезапустить демон, start – запустить демон, stop – остановить демон).
УДАЛЁННЫЙ доступ - довольно распространенная задача для системных администраторов Linux, когда есть необходимость выполнения некоторой команды или локальный скрипт Bash из одного сервера Linux или Unix-сервера на другую удаленную машину на Linux с помощью SSH. Для подключения необходимо найти SSH-клиент для вашей операционной системы.
|
Windows:
PuTTY: Telnet/SSH-Клиент
OpenSSH для Cygwin
OpenSSH для MinGW
WinSCP
Linux:
OpenSSH; если используется Linux, например Ubuntu, скорее всего всё уже установлено, до нас, так что можно писать в терминале: ssh root@[IP].
PuTTY есть и для Linux, в том числе в официальных репозиториях Debian и Ubuntu.
MAC OS:
OpenSSH;
ZOC
vSSH
Плагины для браузеров:
FireSSH для Firefox
Secure Shell для Google Chrome
Итак, основной синтаксис для запуска удаленной команды SSH в Linux
$ ssh USER@HOST 'command'
где:
SSH - это протокол или команда используется для установки соединения с удаленным сервером.
USER - это имя пользователя на удаленном сервере.
HOST - это удаленный хост, на котором вы хотите выполнить удаленную команду.
Command -> это команда, которую вы хотите выполнить на удаленном хосте.
Примеры:
1) Как выполнить команду на удаленной системе Linux через SSH
В следующем примере пользователи могут запускать команду df через ssh на удаленном компьютере с Linux.
$ ssh admin@itsecforu.ru df -h
Допустим, вы хотите узнать детали точки монтирования удаленного сервера.
#ssh lradmin@213.159.209.228 df
Здесь символ «#» в командной строке может указывать на то, что вы работаете из-под пользователя root (суперпользователя).
В приведенном выше примере система запросит пароль вашего имени на удаленном хосте. Если настроили пароль SSH между двумя серверами, система работала без пароля.
В случае, если хотите узнать результат команды бесперебойной работы на удаленном хосте, пример:
[root@destroyer ~]# ssh lradmin@213.159.209.228 uptime
Пример:перегрузить сервер удаленно.
|
[root@destroyer ~]#ssh root@213.159.209.228 reboot
Запуск удаленной команды SSH в Linux, для остановки или запуска любого процесса или услуги.
В случае, если требуется остановить процесс HTTPd на удаленном хосте.
[root@destroyer ~]# ssh lradmin@213.159.209.228 'systemctl stop httpd'
Так как в приведенном выше примере команда состоит из более чем одного слова, следут всю команду заключить в кавычки «‘».
Теперь, чтобы запустить его снова службу HTTPD, используется команду ниже.
[root@destroyer ~]# ssh lradmin@213.159.209.228 'systemctl start httpd'
Как запустить несколько команд на удаленной системе Linux через SSH
В следующем примере запускаются несколько команд одновременно через ssh на удаленной системе Linux.
Он одновременно запускает команды uptime и free на удаленной системе Linux.
$ ssh admin@itsecforu.ru "uptime && free -m"
Как запустить команду с привилегиями sudo на удаленной системе Linux через SSH
В следующем примере пользователи могут запускать команду fdisk с привилегией sudo на удаленной системе Linux через ssh.
Обычные пользователи не могут выполнять команды, доступные в системном бинарном каталоге (/usr/sbin/).
Пользователи должны иметь права root для запуска некоторых бинарников.
Таким образом, чтобы запустить команду fdisk в системе Linux, нужны права root.
Команда which возвращает полный путь к исполняемому файлу данной команды.
$ which fdisk
/usr/sbin/fdisk
$ ssh -t admin@itsecforu.ru "sudo fdisk -l"
[sudo] password for admin:
Порядок выполнения работы:
1) Проверить, используя команду find, наличие и месторасположение ssh-сервера shhd.
2) Подключиться по протоколу ssh к удаленному компьютеру из linux (ssh ip-
адрес удаленного компьютера). Выполнить удаленно команды:
a. Просмотреть, командой ps процессы на удаленном х. Прокомментировать результат наблюдения в отчете.
b. Перезагрузить (reboot) удаленно компьютер, согласовав эту акцию с локальными пользователями компьютера.
3) Одновременно запустить команды uptime и free на удаленном компьютере.
4) Командно остановить процесс HTTPd на удаленном компьютере.
Содержание отчета:
1. Цель работы.
2. Краткое описание теории.
3. В рабочем отчете зафиксировать задание, результат его выполнения.
4. Сделать выводы по работе.