Сегодня рассмотрим примеры для запуска команд или скрипта через SSH соединения. Научимся запускать наши команды/скрипты из одной рабочей станции Linux на другой удаленной Linux машине. Рассмотрим практические примеры использования мощного инструмента SSH в администрировании Linux.
Содержание
Запуск команд через SSH
Если вы хотите удаленно запустить какую-либо команду на сервере через SSH, то нет ничего проще. Давайте рассмотрим пару примеров.
Узнайте аптайм удаленного сервера:
Узнать проходит ли пинг на удаленном сервере до google DNS:
Перезагрузить удаленную машину:
Запуск нескольких команд через SSH
В большинстве случаем недостаточно удаленно запустить только одну команду по SSH. Намного чаще необходимо отправить сразу несколько команд на удаленный сервер, например, для сбора информации и получить результат обратно.
Запустить несколько команд на удаленном хосте по SSH:
Практические примеры использования SSH
Узнайте аптайм и сколько свободного места на диске:
Как запускать графические приложения (X11) по SSH на удаленном Linux с помощью MobaXterm в Windows
Сколько используется памяти и среднюю нагрузку:
Узнать версию ядра, количество ядер CPU и сколько всего RAM:
SSH: Запуск Bash Скрипта
Также бывает ситуация, когда на Linux сервере лежит какой-либо скрипт и его необходимо запустить по SSH на другом Linux сервере.
Основная идея заключается в том, чтобы подключиться на удаленный Linux сервер, дать скрипту выполнить свою работу и получить результат, при этом не копируя сам скрипт на удаленный сервер.
Эта задаче безусловно может быть выполнена и при этом довольно просто.
Что если вы хотите выполнить сценарий с аргументом.
Если требуются привилегии sudo, то команда примет вид:
- password — пароль для пользователя root на удаленной машине.
- script.sh — файл с вашим скриптом расположенный на станции с которой производите подключение.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
В этой статье рассмотрим пример как можно переименовать сетевые интерфейсы в дистрибутивах Linux. После обновления systemd (частью которого является udev) Читать
В этой статье я расскажу, как настроить резервное копирование с помощью ssh и cron в Linux дистрибутивов. Как нетрудно догадаться, Читать
Сегодня в статье рассмотрим опции сервиса networking в Debian подобных системах таких как Ubuntu, Linux Mint, Elementary OS и т.д. Читать
Linux — SSH подключение к удаленному Linux с Linux и Windows
Не удалось подключиться к libvirt. Требуется установить openssh-askpass или аналогичную программу для соединения с этим узлом. Вот такое сообщение у Читать
Источник: obu4alka.ru
Запуск графических приложений через SSH
Была необходимость запустить графическое приложение на удаленном сервере. Такая возможность существует. Да именно с использованием графики. Все выполняется из терминала по SSH.
Можно запустить программу, например Gimp, на удаленном сервере с выводом изображения на свой монитор, так же и с выводом на удаленный монитор. Во втором случае вы просто физически не увидите этого, но на удаленном мониторе он запустится.
SSH (Secure Shell) — это протокол сетевого уровня, который позволяет пользователям безопасно подключаться к удаленным компьютерам через сеть. Этот протокол широко используется для управления системами и приложениями на удаленных серверах.
Подготовка к запуску графического приложения по ssh
Для успешного запуска, нужно внести изменения в файл sshd_config, расположенный в каталоге /etc/ssh.
Для его редактирования я использую редактор nano, вы можете использовать свой.
На своем ПК
Устанавливаем, если не установлена служба ssh:
sudo apt install ssh
Открываем файл на своем компьютере, командой:
sudo nano /etc/ssh/ssh_config
Раскомментируем или допишем строку:
ForwardX11 yes
Сохраняем файл Ctrl+O закрываем Ctrl+X.
На удаленном ПК или сервере
Служба ssh должна быть уже установлена, иначе вы не сможете к нему подключится.
Подключаемся к удаленной машине, серверу по ssh.
Далее на удаленной машине, сервере вводим команду:
sudo nano /etc/ssh/ssh_config
Раскомментируем или допишем строку:
X11Forwarding yes
Сохраняем файл Ctrl+O закрываем Ctrl+X
Перезапускаем ssh на удаленной машине командой:
sudo service ssh restart
Теперь, можно подключившись по ssh к серверу или удаленному компьютеру, запустить программу, например gimp, запускается командой:
gimp
И на вашем компьютере откроется окно браузера, но только сам браузер будет работать на удаленной машине, просто изображение будет выводится у вас на ПК.
Для стабильной работы рекомендуется использовать утилиту nohup, команда будет выглядеть так
nohub gimp
Вывод изображения на удаленной машине
Подключитесь по ssh к удаленной машине и введите вначале команду:
export DISPLEY=:0
затем команду для запуска приложения.
Приложение запустится, но вывод будет осуществлятся на монитор подключенный к удаленной машине.
Поэтому вы не увидите удивленное лицо того кто наблюдает этот монитор!
SSH обеспечивает безопасное шифрованное соединение между вашим локальным компьютером и удаленным сервером. Это означает, что все данные, передаваемые через это соединение, защищены от перехвата.
Кроме того, с помощью SSH можно безопасно копировать файлы между системами с помощью команд scp или rsync , устанавливать и настраивать программное обеспечение на удаленных серверах, выполнять команды на удаленных машинах и многое другое.
В целом, SSH является важным инструментом для администраторов систем и разработчиков, работающих с удаленными серверами.
Источник: propk.ru
Запуск команд на удаленном сервере через SSH
Запуск команд на удаленном компьютере через SSH-подключение
Протокол SSH, помимо работы в интерактивном режиме, поддерживает также разовый запуск команд или скриптов на удаленном компьютере под управлением ОС семейства Linux.
Синтаксис команды запуска удаленной команды:
Если доступ по ssh реализован по ключевой паре, то команда выполнится немедленно. Если нет, то при запросе вводим пароль указанного пользователя и в консоли получаем вывод команды, если таковой имеется.
Например, получим информацию об установленной на удаленном сервере операционной системе:
Чтобы запустить несколько команд за одно подключение, можно использовать символ “;” в качестве разделителя. Проверим время работы удаленного компьютера, его загрузку и запросим все активные сетевые подключения на удаленном компьютере:
В случае, если потребуется запустить на удаленном сервере локальный файл скрипта, то потребуется в SSH-подключении вызвать командный интерпретатор в режиме исполнения сценария (например, bash с ключом -s), и на стандартный ввод передать ему файл скрипта. Команда запуска локального скрипта на удаленном компьютере будет выглядеть примерно так:
В результате скрипт в локальном файл /home/user/anyscript.sh исполнится на удаленном сервере.
Похожие статьи на сайте
- Локальное туннелирование с помощью SSH: несколько примеров
- Альтернативы SSH, которые в некоторых случаях лучше оригинала
- Запуск команд на удаленном сервере через SSH
- Лучшие рекомендации по повышению безопасности для серверов OpenSSH
- Разрешения файлов директории .SSH
- Как ускорить логин по ssh
- Облегчаем работу по SSH
- scp — защищенное копирование файлов
- Монтирование удаленной папки с помощью sshfs
- Аутентификация по SSH через ключевую пару
Источник: www.oslogic.ru