Linux ssh запуск приложения

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

Сегодня рассмотрим примеры для запуска команд или скрипта через SSH соединения. Научимся запускать наши команды/скрипты из одной рабочей станции Linux на другой удаленной Linux машине. Рассмотрим практические примеры использования мощного инструмента SSH в администрировании Linux.

Запуск команд через SSH

Если вы хотите удаленно запустить какую-либо команду на сервере через SSH, то нет ничего проще. Давайте рассмотрим пару примеров.

Узнайте аптайм удаленного сервера:

Узнать проходит ли пинг на удаленном сервере до google DNS:

ssh root@10.5.5.1 'ping 8.8.8.8 -c 5'

Перезагрузить удаленную машину:

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

В большинстве случаем недостаточно удаленно запустить только одну команду по SSH. Намного чаще необходимо отправить сразу несколько команд на удаленный сервер, например, для сбора информации и получить результат обратно.

Запустить несколько команд на удаленном хосте по SSH:

ssh ПОЛЬЗОВАТЕЛЬ@СЕРВЕР 'КОМАНДА1; КОМАНДА2; КОМАНДА3'

Практические примеры использования SSH

Узнайте аптайм и сколько свободного места на диске:

ssh root@10.5.5.1 'uptime; df -h'

Сколько используется памяти и среднюю нагрузку:

ssh root@10.5.5.1 'free -m ; cat /proc/loadavg'

Узнать версию ядра, количество ядер CPU и сколько всего RAM:

SSH: Запуск Bash Скрипта

Также бывает ситуация, когда на Linux сервере лежит какой-либо скрипт и его необходимо запустить по SSH на другом Linux сервере.

Основная идея заключается в том, чтобы подключиться на удаленный Linux сервер, дать скрипту выполнить свою работу и получить результат, при этом не копируя сам скрипт на удаленный сервер.

Эта задаче безусловно может быть выполнена и при этом довольно просто.

Что если вы хотите выполнить сценарий с аргументом.

Если требуются привилегии sudo, то команда примет вид:

ssh root@10.5.5.1 'echo "passwords" | sudo -Sv && bash -s' < script.sh
  • password — пароль для пользователя root на удаленной машине.
  • script.sh — файл с вашим скриптом расположенный на станции с которой производите подключение.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

network-logo

В этой статье рассмотрим пример как можно переименовать сетевые интерфейсы в дистрибутивах Linux. После обновления systemd (частью которого является udev) Читать

backup-wordpress

В этой статье я расскажу, как настроить резервное копирование с помощью ssh и cron в Linux дистрибутивов. Как нетрудно догадаться, Читать

network-logo

Сегодня в статье рассмотрим опции сервиса networking в Debian подобных системах таких как Ubuntu, Linux Mint, Elementary OS и т.д. Читать

Читайте также:  Блокировка интерпретаторов astra linux

kvm-logo

Не удалось подключиться к libvirt. Требуется установить openssh-askpass или аналогичную программу для соединения с этим узлом. Вот такое сообщение у Читать

Источник

Запуск графических приложений через SSH (X11Forwarding)

На компьютер клиента передается «картинка».
На удаленном компьютере (на котором выполняется само приложение) должны быть X'ы и все что нужно, что бы запустить программу.

Настройка клиента Windows

Установка Xming

Xming - порт сервера X Window System для операционной системы Microsoft Windows.
Скачать Xming с SourceForge и установить.

Настройка PuTTy

Просто запускаем программу в терминале

Обсуждение

спасибо, всё работает на ура! только очень тормознуто (или это только у меня так?).

Да есть такое, что тормозит жутко, даже если через локалку

Алексей, радует, что причина тормозов в данном случае - не мои кривые ручки. а что посоветуете вместо данного решения? пробую сейчас xrdp (в линуксах не шибко разбираюсь), и через rdp из winxp у меня только консольное окно появилось, рабочего стола как такового нет. думаю вот, что делать дальше. 🙂

Кроме VNC ничего другого не использовал, так что советовать мне особо нечем

у меня уже всё получилось. доставил xrdp в систему, из winxp запустил терминальную сессию на ip-адрес компа с linux, увидел окошко терминала, набрал google-chrome (ради чего всё и затевал) и получил нужное. что радует, после закрытия терминального окна и повторного входа вижу всё ту же картинку, что и до закрытия. сам не ожидал, что всё так просто получится. Алексей, спасибо за статью и успехов в делах! 🙂

тоже настроил, всё работает кроме PHPStorm. запускаю, он запускается, но картинку на клиента не передаёт, а локально отображается почему-то. А все остальные программы работают как надо, удалённо.

Источник

Запуск графических приложений через SSH

работа с протоколом SSH

Была необходимость запустить графическое приложение на удаленном сервере. Такая возможность существует. Да именно с использованием графики. Все выполняется из терминала по SSH.

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

SSH (Secure Shell) — это протокол сетевого уровня, который позволяет пользователям безопасно подключаться к удаленным компьютерам через сеть. Этот протокол широко используется для управления системами и приложениями на удаленных серверах.

Подготовка к запуску графического приложения по ssh

Для успешного запуска, нужно внести изменения в файл sshd_config, расположенный в каталоге /etc/ssh.

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

На своем ПК

Устанавливаем, если не установлена служба ssh:

Открываем файл на своем компьютере, командой:

sudo nano /etc/ssh/ssh_config

Раскомментируем или допишем строку:

Сохраняем файл Ctrl+O закрываем Ctrl+X.

ssh config на моем компьютере

На удаленном ПК или сервере

Служба ssh должна быть уже установлена, иначе вы не сможете к нему подключится.

Подключаемся к удаленной машине, серверу по ssh.

Читайте также:  Virtualbox linux установка виндовс

Далее на удаленной машине, сервере вводим команду:

sudo nano /etc/ssh/ssh_config

Раскомментируем или допишем строку:

Сохраняем файл Ctrl+O закрываем Ctrl+X

ssh config на удаленном сервере

Перезапускаем ssh на удаленной машине командой:

Теперь, можно подключившись по ssh к серверу или удаленному компьютеру, запустить программу, например gimp, запускается командой:

И на вашем компьютере откроется окно браузера, но только сам браузер будет работать на удаленной машине, просто изображение будет выводится у вас на ПК.

Для стабильной работы рекомендуется использовать утилиту nohup, команда будет выглядеть так

Вывод изображения на удаленной машине

Подключитесь по ssh к удаленной машине и введите вначале команду:

затем команду для запуска приложения.

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

Поэтому вы не увидите удивленное лицо того кто наблюдает этот монитор!

SSH обеспечивает безопасное шифрованное соединение между вашим локальным компьютером и удаленным сервером. Это означает, что все данные, передаваемые через это соединение, защищены от перехвата.

Кроме того, с помощью SSH можно безопасно копировать файлы между системами с помощью команд scp или rsync , устанавливать и настраивать программное обеспечение на удаленных серверах, выполнять команды на удаленных машинах и многое другое.

В целом, SSH является важным инструментом для администраторов систем и разработчиков, работающих с удаленными серверами.

Источник

How to start a GUI software on a remote Linux PC via SSH

Sometimes I need to start XMBC media player or other GUI software on one of my remote PC (small Xubuntu PC used as a media center). Usually, I do this by starting an X11vnc server on the remote PC via SSH and then connecting with an Xvnc client to the Xfce desktop. Is there a way to start a GUI software on a remote Linux PC via SSH? Thanks!

Can confirm that the approach in chosen answer works if the remote client is a Mac, too. Working successfully with macOS Sierra.

5 Answers 5

Yes. You just need to run export DISPLAY=:0 (or whatever the remote display is numbered as) in your ssh session and programs run will run on the remote display. A quick example:

oli@bert:~$ ssh tim oli@tim:~$ export DISPLAY=:0 oli@tim:~$ firefox 

Firefox is now running on tim 's display.

However when you close your ssh session, most of the time the remote application will close. If you want to disconnect from ssh but leave the application running you need to launch it in a special way using something like screen (keeps the ssh session running in the background) or nohup , or another method. For more information on this there was recently another question on it.

You can shorten this all down into one command that will connect, export the display in-line and start the application in a way that won't close it after the ssh session dies:

ssh tim "DISPLAY=:0 nohup firefox" 

Источник

Читайте также:  Проверка прав файла линукс

Запуск графических приложений по ssh

5-comandos-basicos-de-consola-del-cliente-de-SSH-en-Linux-professor-falken.com_

Вначале немного лирики, а потом — практические советы. На днях я решил попробовать удаленно зайти на компьютер любимой жены и дочурки и во время просмотра онлайн кино захотел запустить на их экране текстовый файл с текстом и изображением. Для начала я создал на своем микро-компьютере Raspberry PI 3 в LibreOffice Writter надпись «Я вас люблю» и сохранил на Рабочий стол. Потом я подключился к их компьютеру по ssh, запустил Midnicht Commander и скопировал в их Домашний каталог созданный файл test.odt. И во время данного эксперимента я для себя сделал небольшое открытие, хотя до этого об одном из пунктов я знал.

1. По ssh соединению можно запустить графическое приложение удаленного компьютера, которое откроется на вашем мониторе.
2. Можно также запустить то же графическое приложение, но оно уже откроется на удаленном мониторе.

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

Для начала нужно сделать кое-какие настройки в конфигурационном файле /etc/ssh/sshd_config на удаленном компьютере и вашем. На удаленной машине нужно раскомментировать (убрать символ # ) или добавить строку:

После перегрузим ssh, выполнив команду:

На своем компьютере нужно раскомментировать или добавить строку:

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

X — перенаправлять графический вывод
С — компрессия передаваемых данных

Команда будет иметь такой вид:

где — user (логин пользователя удаленной машины)
192.168.1.xx — IP-адрес удаленной машины.

После этого можно запускать любую программу, имеющую графический интерфейс, и она появится на вашем мониторе. Вы увидете приложение даже в том случае, если такая же программа не установлена на вашем компьютере. В итоге можно запустить удаленную графическую программу и на своем мониторе поработать с ней, а результат сохранить на удаленный компьютер. Это очень удобно, если хозяин удаленной машины попросил вас помочь в настройке определенной программы, или в создании какого-нибудь файла, созданного в LibreOffice, GIMP, Inkscape и т.д. Вы теперь можете удаленно помочь человеку. Хотя некоторые тормоза присутствуют, но это не критично.

рабочий стол 1_007

Теперь рассмотрим случай, когда нужно запустить удаленное приложение, которое должно отобразиться на том же удаленном компьютере.

После этого дадим команду GUI программам, что по нашей (удаленной) команде, они должны запустить в графическом режиме на своем (локальном) компьютере:

Теперь можно запускать любое приложение:

или, как в моем случае, я запустил нужный мне файл:

Можно также запустить приложение в связке с утилитой nohup, которая защитит программу от сбоев связи. Теперь даже если вы отключитесь от удаленной машины, то запущенная программа будет работать. Пример:

Можно сразу запустить браузер с нужным сайтом:

Источник

Оцените статью
Adblock
detector