Архив метки: SSH

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

Наверное большинство системных администраторов используют различные инструменты из своего "джентльменского” набора, для удаленного администрирования подответсвенных им машин. Для администрирования серверов, или рабочих станций под управлением Linux, как правило хватает SSH. Но как же быть в случае, если нам необходимо запустить графическое приложение на удаленной машине? Для этого существует уйма платных и бесплатных программ, которые вы без труда найдете по первым же поисковым запросам в интернете. Сегодня мы рассмотрим Open Source решение Xming.

Как известно X Window System изначально реализовывала клиент-серверную архитектуру, благодаря чему  мы можем запускать приложения на одной машине, а графический ввод или вывод осуществлять на другой (имеющей доступ к первой по сети).
Давайте рассмотрим, как это можно сделать на компьютере с операционной системой Windows (в которой как  мы знаем нет X - сервера). Воспользуемся утилитой XMING.
Скачав с официального сайта последнюю версию программы приступаем к установке, которая впрочем довольно простая, и я думаю, описывать все пункты в которых нужно нажимать "далее”, не стоит.
Запускаем нашу программу, после чего она благополучно свернется в трей. Теперь нам нужно сконфигурировать наш PuTTY. Настройки все те же самые (IP адрес, кодировка, пр), за исключением одного пункта (см. Рисунок)

putty_ssh_x11

Здесь нам необходимо поставить флажок напротив "Enable X11 forwarding”.
Подключаемся к удаленной машине (на которой запущены "иксы”) и вызываем через консоль необходимое нам приложение, например напишем: firefox и получим браузер, если он у нас такой есть там установленный (по умолчанию в Debian есть, и называется iceweasel) или запустим проводник Debian так же написав его имя nautilus и так любое приложение. Всё работает 😉

Установка клиента и сервера SSH на Linux

В наше время, протокол SSH используется так же активно, как и раньше. Сейчас я расскажу о том, как установить SSH-сервер и SSH-клиент в Linux’е. Для своих опытов беру Debian GNU/Linux.

Устанавливаем клиент и сервер SSH

На сервер под управлением Debian GNU/Linux, необходимо установить пакет сервера OpenSSH:

$ sudo aptitude install openssh-server

Теперь устанавливаем пакет клиента OpenSSH:

$ sudo aptitude install openssh-client

скорее всего клиент уже установлен на Вашей машине, т.к. он входит в большинство основной комплектации в Linux и *BSD.
Установка нареканий вызвать не должна. В Debian GNU/Linux это всё отточено и автоматизированно.

Подключение при помощи клиента OpenSSH

Вводим команду на компьютере-клиенте вида:

$ ssh -l имя_пользователя IP_сервера

или:

$ ssh -l имя_пользователя домен_сервера

например:

$ ssh -l user 192.168.0.1

Так мы попытаемся зайти на удалённый сервер под именем пользователя user. Естественно, учётная запись этого пользователя должна существовать на сервере.
При первом подключении вам будет предложено скопировать ключ, ответьте на этот вопрос положительно. Затем наберите пароль, и можно начинать полноценную работу.

Туннелирование X через SSH

Благодаря клиент-серверной архитектуре, X-сервер прекрасно туннелируется через SSH. Откройте на сервере файл:

$ sudo nano /etc/ssh/sshd_config

и проверьте в нем наличие строки

X11Forwarding yes

Если стоит no, то замените на yes и перезагрузите ssh-сервер командой:

$ sudo /etc/init.d/ssh restart

Теперь вам нужно залогиниться с использованием ключа -X, например так:

ssh -X -l user 192.168.0.1

После того, как залогинетесь, попробуйте запустить любое графическое приложение, например какой-либо браузер, отдав соответствующую команду. У вас должно открыться окно этой программы, которым вы сможете управлять точно также, как и если бы работали непосредственно на сервере.

Если не нужны иксы, то подключаться можно проще:

$ ssh user@host