Linux удаленный доступ к рабочему столу. Удаленный графический доступ к ubuntu через VNC. Google Hangouts: шеринг экрана и видеоконференции

  • 25.01.2022

Июль 28

В новых версиях Ubuntu уже есть встроенный VNC сервер . Мы будем использовать его стандартные средства. Пока разбирался в данном вопросе — пришлось почитать приличное количество форумов. Так вот, многие пользователи пишут, что в версии ubuntu 14.04 данный фокус не проходит из-за каких-то внутренних тонкостей устройства ядра. Я в данный вопрос глубоко не вдавался…в любом случае, если вдруг вы являетесь счастливым обладателем именно этой версии — можете воспользоваться альтернативным сервером x11vnc.

Ставится он довольно просто:

Sudo apt-get remove vino sudo apt-get install x11vnc

В этой же статье, будет рассмотрен стандартный VNC сервер уже включенный в ubuntu по умолчанию. Как все настроить?

Коннектимся к удаленному хосту.

Подключаемся через ssh к удаленному компьютеру, к которому хотим получить графический доступ. При этом мы должны знать его ip и логин с паролем пользователя — экран которого хотим видеть. По сути — нам подойдут данные любого пользователя с правами sudo, но тогда прийдется донастраивать некоторые моменты.

Итак, допустим в локальной сети мы имеем компьютер под ubuntu с ip адресом 10.20.0.30 и пользователем feanor184 . Коннектимся к нему из консоли с ключем -X (для запуска графических иксов):

Ssh -X [email protected]

вводим пароль и попадаем в консоль нашего удаленного компьютера.

Теперь, вводим в ней:

Sudo vino-preferences

и видим графическое окно

Тут ставим галочки:

allow other users to view your desktop — разрешаем смотреть рабочий стол.

allow other users to control your desktop — разрешаем управлять мышкой и клавиатурой удаленно.

require the user to enter this password — обязательно устанавливаем пароль на подключение. Мало ли кто лазиет в нашей сети

show notification area icon: always — всегда отображаем иконку vnc вверху экрана в трее.

Вы можете выставить так же свои настройки — здесь описаны мои настройки)

Сохраняем настройки и отсоединяемся от удаленного хоста.

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

Например, Remmina — для Linux.

UltraVNC Viewer — для Windows.

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

Что имеем в итоге?

Мы получили возможность подключаться к удаленному компьютеру под ubuntu и выполнять на нем любые операции так, как если бы мы сами сидели за его монитором

5. Переместите панель кнопок Button и панель адреса Location с помощью мыши.

6. Измените размеры панелей, используя специальные метки изменения размера на границах окон.

7. Запустите на выполнение в правой панели команду vi.

8. На левой панели просмотра откройте аплет, нажав клавиши .

9. На нижней панели воспользуйтесь компилятором и другими средствами командной строки.

10. Выберите опцию Setting Save View Profile для сохранения профиля.

11. Введите название профиля, а затем выберите опцию Save window size in profile. После этого нужно для сохранения установок щелкнуть на кнопке Save.

6. Контрольные вопросы

1. Какие программы называются файловыми менеджерами?

2. Какая информация отражается в области просмотра программы Konqueror?

3. Как создать новое окно с помощью программы Konqueror?

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

5. Перечислите стандартные функции KDE.

6. Что является компонентом рабочего стола KDE?

7. Назовите функции панели рабочего стола.

8. Как получить справку в диалоговом режиме?

9. Какие функции предоставляет центр управления KDE?

Литература 1,3,4

Лабораторная работа №9 Удаленный доступ в Linux

Цель работы: Ознакомиться на практике со средствами удаленного управления в операционной системе Linux. Приобрести опыт и навыки управления удаленным доступом

План проведения занятия

4. Используя теоретические сведения изучить назначение и правила работы с сервисом ssh.

5. Доустановить при необходимости требуемое программное обеспечение (ssh, sshd, putty).

6. Обеспечить доступ по протоколу ssh к своему компьютеру. Предоставить права и пароль для удаленного управления вашим компьютером соседнему - против часовой стрелки - компьютеру.

7. Установить удаленное подключение к удаленному (remote) компьютеру. В качестве Remote выступает соседний по часовой стрелке компьютер. То есть вы должны управлять удаленно правым компьютером, и обеспечить возможность удаленного управления вашим компьютером левому от вас компьютеру.

8. Составить отчет.

Краткие теоретические сведения

1. Протоколы удаленного доступа: telnet и ssh

Операционная система UNIX первоначально разрабатывалась как Интернетсервер. Средства для работы с Сетью встроены непосредственно в ядро этой операционной системы, а все необходимое программное обеспечение для организации сервера входит в состав дистрибутива. UNIX-система работает со всеми сетевыми протоколами (особенно с TCP/IP) лучше, чем любая другая операционная система для платформы Intel. Недаром говорят, что UNIX создан для сети, как птица для полета. Все перечисленные выше качества касаются также и ОС Linux. Существует множество направлений, где используются Linux-серверы: WWW-серверы, FTP-серверы, почтовики, шлюзы. Поэтому удаленное управление Linux-сервером имеет большое значение.

Для удаленного доступа к Linux используются два протокола telnet и SSH. Telnet - протокол линии передачи данных Интернет, который дает возможность

компьютеру функционировать как терминал, работающий под управлением удаленного компьютера. Протокол telnet был первоначально разработан для ARPAnet и является важной частью протокола передачи данных TCP/IP.

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

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

Telnet не шифрует никакие данные, которые посылаются через установленную связь (включая пароли), и таким образом становится возможным прослушивание связи и использование пароля позже для злонамеренных целей.

Отсутствие системы аутентификации в telnet не дает никакой гарантии, что связь, установленная между двумя удаленными хостами не будет прервана в середине.

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

сеансом связи по протоколу telnet, может перехватить проходящие пакеты и легко получить логин и пароль для доступа в систему (или завладеть любой другой информацией, которой обмениваются эти компьютеры) при помощи любой общедоступной утилиты подобно tcpdump и Ethereal.

SSH - (Secure Shell) - сетевой протокол, позволяющий производить удалённое управление компьютером и передачу файлов. Сходен по функциональности с протоколом telnet , однако использует алгоритмы шифрования передаваемой информации.

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

Поскольку использование для удаленного управления протокола telnet неправильно с точки зрения безопасности, в лабораторной работе рассмотрим только удаленное управление по SSH.

На данный момент существует две версии протокола SSH: Описание технологии протокола SSH-1:

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

Аутентификация сервера происходит исходя из его возможности расшифровки сессионного ключа, который зашифрован публичным ключом сервера. Аутентификация клиента может происходить различными способами, в том числе DSA, RSA, OpenPGP или

по паролю. Сессия продолжается до тех пор, пока и клиент и сервер способны аутентифицировать друг друга. Установленное соединение по протоколу SSH-1 позволяет защитить передаваемые данные стойким алгоритмом шифрования, проверкой целостности данных и сжатием.

Описание технологии протокола SSH-2:

Оба протокола, по сути, выполняют одни и те же функции, но протокол SSH-2 делает это более элегантно, более безопасно и более гибко. Основное различие между протоколами заключается в том, что протокол SSH-2 разделяет все функции протокола SSH между тремя протоколами, в то время как протокол SSH-1 представляет собой один единый и неделимый протокол. Модуляцией функций протокола SSH в трех протоколах – протоколе транспортного уровня, протоколе аутентификации и протоколе соединения, делает протокол SSH-2 наиболее гибким и мощным механизмом создание безопасных туннелей. Ниже дано краткое описание и назначение каждого из трех протоколов, составляющих протокол SSH-2:

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

Протокол соединения – позволяет клиентам устанавливать многопоточное соединение через оригинальный SSH туннель, таким образом, снижая нагрузку, которую создают клиентские процессы.

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

Следует отметить, что протокол SSH не решает всех проблем сетевой безопасности. Он лишь фокусирует свое внимание на обеспечении безопасной работы таких приложений, как эмуляторы терминала. Использование реализаций протокола SSH на серверах и в клиентских приложениях помогает защитить данные лишь в процессе передачи. Протокол SSH ни коим образом не является заменой брандмауэров, систем обнаружения вторжений, сетевых сканеров, систем аутентификации и других инструментов, позволяющих защитить информационные системы и сети от атак.

Сервером SSH служит демон sshd, который запускается на UNIX-машине.

В качестве SSH-клиента в настоящее время используют OpenSSH, PuTTY, SecureCRT, SFTPPlus, TeraTerm и др. В лабораторном практикуме будут использованы наиболее распространенные OpenSSH – для подключение Linux-клиента и PuTTY – для подключения Windows-клиента.

OpenSSH (Open Secure Shell - открытый безопасный shell) - набор программ,

предоставляющих шифрование сеансов связи по компьютерным сетям с использованием протокола SSH. Он был создан под руководством Тео де Раадта как открытая альтернатива коммерческого ПО от SSH Communications Security.

PuTTY (от TTY - телетайп, англ. putty - замазка) - свободно распространяемый клиент для протоколов SSH. Изначально разрабатывался для Windows, однако позднее портирован на Unix.

2. Настройка сервера ssh на сервере

Чтобы служба SSH на сервере начала работать, необходимо запустить на нем демон sshd. Желательно добавить команду запуска в сценарий загрузки системы. Демон sshd работает по 22 порту. Можно запускать его из-под супердемона xinetd/inetd, но обычно sshd запускается самостоятельно - в режиме standalone._

Конфигурационный файл сервера sshd называется /etc/ssh/sshd_config. Справку по его синтаксису можно получить по команде man 5 sshd_config. В пакете openssh-server находится конфигурационный файл с типовыми настройками.

Чтобы оградить ваш компьютер от нежелательных вторжений извне, рекомендуется вписать в конфигурационный файл директиву allowedadress и перечислить через пробел IP-адреса тех машин, с которых разрешен вход клиентов. Например, для рабочей станции ws2 в лаборатории можно разрешить удаленное подключение только с компьютера преподавателя и ближайшего компьютера слева:

allowedadress 192.168.1.100 192.168.1.101

Пример файла конфигурации /etc/ssh/sshd_config:

# Сначала пытаемся работать по протоколу SSH 2, а потом,

# если та сторона не поддерживает вторую версию, - по SSH 1 Protocol 2,1

# Ключ для протокола SSH версии 1 HostKey /etc/openssh/ssh_host_key

# Ключи для протокола SSH2 - RSA и DSA HostKey /etc/openssh/sshjiost_.rsajtey HostKey /etc/openssh/ssh_host_dsa_key

# Время жизни и размер ключа ssh версии 1 KeyRegenerationlnterval 3600

# По умолчанию используется размер 768 бит,установим 1024 ServerKeyBits 1024

# Время, через которое ключи сервера будут созданы заново.

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

KeyRegenerationlnterval lh

# Запрещаем регистрацию пользователя root по ssh.

# Это не исключает возможности удаленного

# администрирования: просто root придется зайти под

# обычным пользователем, а затем выполнить команду su.

# Зато злоумышленнику понадобится украсть

# не один, а два пароля: и root, и обычного пользователя.

PermitRootLogin no

# Протоколирование (раскомментируйте, если нужно

# вести журнал с помощью системы syslog) #SyslogFacility AUTH

# Аутентификация

# Включает парольную аутентификацию

# и запрещает пустые пароли

PasswordAuthentication yes PermitEmptyPasswords no

#StrictModes yes

# используем RSА-аутентификацию

RSAAuthentication yes PubkeyAuthentication yes

# Аутентификация rhosts - обычно не используется,

# поэтому запрещаем ее:

# пользовательские файлы -/.rhosts и -/.shosts не будут использоваться

RhostsAuthentication no IgnoreRhosts yes

# НЕ использовать РАМ аутентификацию

PAMAuthenticationViaKbdlnt no

# Дополнительное время клиенту на то, чтобы аутектифицироватьсебя.

# Если за это время клиент не смог ввести пароль,

# соединение будет прекращено

LoginGraceTime 2m

# Путь к баннеру

Banner /some/path

# Подсистема sftp-сервера

Subsystem sftp /usr/libexec/openssh/sftp-server

Ключи, с которыми можно запускать sshd, перечислены в таблице 9.1.

Табл. 9.1. Ключи сервера sshd.

Назначение

Определяет число битов для ключа сервера (по умолчанию 768). Эту опцию

можно использовать, только если вы используете протокол SSH версии 1

Режим отладки (DEBUG). В этом режиме сервер не переходит в фоновый

режим, обрабатывает только одно соединение и подробно протоколирует

свои действия в системном журнале. Ключ отладки особенно полезен для

изучения работы сервера.

Так же, как и при использовании предыдущего ключа, сервер sshd не будет

переходить в фоновый режим. Однако в отличие от -d ключ -D не переводит

сервер в режим отладки

Отравлять отладочные сообщения не в системный журнал, а на стандартный

поток ошибок

Задает альтернативный файл конфигурации вместо /etc/ssh/sshd_config

Предоставляет клиенту, не прошедшему аутентификацию, дополнительное

время на ввод пароля. Значение 0 интерпретируется как бесконечное

ожидание

Задает альтернативный файл открытого ключа (ключ узла). По умолчанию

файл_ключа

используется файл /etc/ssh/ssh_host_key. Этот ключ может понадобиться,

чтобы запускать sshd от имени непривилегированного пользователя. Также

ключ -h часто применяется при запуске sshd из сценариев, задающих

различные настройки в зависимости от времени суток (в рабочее и

нерабочее время}

Используется, если нужно запускать sshd через суперсервер xinetd. Обычно

демон sshd запускается отдельно при загрузке системы. Связано это с тем,

что демону sshd требуется некоторое время для генерирования ключа

сервера, прежде чей он сможет ответить на запросы клиентов. При запуске

через суперсервер при каждом соединении суперсервер будет заново

вызывать sshd, а тот - заново генерировать ключ. Однако на современных

компьютерах задержка практически не заметна. Поэтому вполне можно

запускать sshd и через суперсервер

Задает время, спустя которое ключ сервера будет создан заново. По

умолчанию время составляет 1 час. Эту опцию можно использовать только с

протоколом SSH версии 1

Указывает альтернативный порт, который демон sshd будет прослушивать

вместо порта 22

«Тихий режим»: не протоколировть сессию. Обычно протоколируется

начало аутентификации, результат аутентификации и время окончания

Тестовый режим. Применяется для проверки корректности файла

конфигурации

Разрешается использовать IP-адреса только в формате IPv4

Разрешается использовать IP-адреса только в формате IPv6

Удаленный доступ с Linux-клиента

Запустим сервер с CentOS Linux. Командой ps (process status) c ключами С (by command name) и l (long format) проверим, запущен ли демон sshd, а командой ifconfig

проверим адрес сервера (рис.7.1).

Рис. 9.1. Проверка загрузки службы sshd и IP-адреса сервера Видим, что процесс sshd запущен. Родительским для него является процесс

инициализации с идентификатором 1. IP-адрес сервера равен, как было задано при установке, 192.168.100.3.

Загружаем клиентскую машину с Alt Linux Lite. Запускаем на ней терминал и проверяем связь с сервером - набираем команду ping 192.168.100.3. Как видно из рис. 9.2 установить соединение с сервером сразу после загрузки не удается.

Рис. 9.2. Проверка связи с Linux-сервером

Требуется настройка IP-протокола. Выбираем (см. рис. 7.3) Настройка - Центр управления системы – Сеть, вводим IP-адрес 192.168.100.4 и нажимаем кнопку «Применить».

Рис. 9.3. Настройка IP-интерфейса на Linux-клиенте

Снова проверяем возможность установления связи с сервером. Как видно из рис. 9.4 теперь клиент «видит» сервер.

Рис. 9.4. После включения клиента в сеть 192.168.100 соединение установлено Поскольку настройка при загрузке с Live-CD не сохраняется, задавать IP-адрес

клиенту надо при каждой загрузке Alt Linux c Live-CD. Теперь пробуем подключиться удаленно к серверу.

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

ssh [ключи] [ключи_с_аргументами] [логин_имя@]хост.домен [команда]

Мы будем использовать ключ l , с помощью которого можно указать, от имени какого пользователя будет осуществляться регистрации на удаленной машине, и ключ v , который включает отображение всей отладочной информации. Набираем команду ssh с адресом сервера и этими ключами. Как видно из этого рисунка, клиент и сервер обменялись информацией о том, какие версии протоколов они поддерживают (OpenSHH_4.7p1 на клиентской стороне и OpenSHH_4.3 на сервере), сервер прислал открытый RSA ключ и программа запрашивает от пользователя подтверждение на включение сервера в список известных хостов.

Рис. 9.5. Получение открытого ключа для шифрования данных от сервера.

Это важное свойство протокола SSH. Он разработан чтобы защитить пользователя против атак известных как спуфинг или «злоумышленник посередине». Одна из проблем, связанная со старыми протоколами типа Telnet, FTP, RSH и др. кроме того, что они передают всю информацию открытым текстом, состоит в том, что данные протоколы уязвимы к атаке подобного рода. Атакующий, имеющий доступ к промежуточной сети,

может перехватить ваши пакеты, сохранить их, а затем отослать непосредственному адресату. Еще хуже, он может перезаписать ваши пакеты, например, заменив ls -la mydir на rm -r mydir (удаление вместо просмотра) или отправить вам протрояненный файл вместо оригинала через ваш перехваченный FTP сеанс. Атакующий может, наконец, просто перенаправить ваше соединение к другому компьютеру, так что вы пошлете ваш пароль другой машине. Используя этот прием, атакующий сможет узнать пароль, который защищает вашу учетную запись, и сможет затем регистрироваться под вашим именем для своих целей.

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

Так как мы подключаемся к этой машине впервые, и SSH не работает по принципу третьего доверенного лица, такого как Certificate Authorities, вся работа, связанная с управлением ключами, лежит на вас. Ваш клиент показывает отпечаток открытого ключа (key fingerprint), простую для чтения строку чисел, которую вы можете использовать для проверки ключа вручную. Если вы отвечаете "Да, отпечаток правильный", ваш SSH клиент продолжит аутентификацию, дав вам возможность ввести ваш пароль и приступить к работе.

Как вы узнаете, что получили правильный ключ? Ведь если во время соединения с сервером атакующий перехватил ваше SSH соединение и пропустил через себя весь трафик, он может подсунуть вам свой ключ, вместо реального открытого ключа хоста. Существует несколько способов проверки подлинности ключа. Например, владелец системы может разместить отпечаток ключа на своей защищенной веб странице. Другой вариант - вы можете позвонить системному администратору хоста и проверить ключ по телефону (если исключена возможность перехвата злоумышленником телефонного разговора).

Подтверждаем продолжение соединения, набрав yes, и получаем от программы сообщение о том, что сервер включен в список известных хостов (рис. 9.6).

Рис. 9.6. Проверка RSA

Когда вы ответили "да", наш SSH клиент сохранил ключ сервера в файле known_hosts, который фактически является вашим личным Certificate Authority - списком ключей всех SSH серверов, с которыми вы работаете.

Теперь можно удаленно подключиться к серверу. Повторяем команду ssh 192.168.100.3 –l root –v

и получаем информацию об установлении соединения (рис. 9.7), где последней стадией аутентификации выступает ввод пароля пользователя root удаленного компьютера-сервера.

Рис. 9.7. Отладочная информация удаленного подключения Вводим пароль пользователя root сервера (рис. 9.8) и входим в сессию удаленного управления.

Рис. 9.8. Процедура удаленного подключения после ввода пароля Теперь можно удаленно управлять сервером. Можно, например, его удаленно перезагрузить, выполнив команду reboot, как показано на следующем рис.9.9.

На этом рисунке видно, что сразу после команды reboot установить заново удаленное подключение не удается – сервер еще не загрузился. После установления соединения команда ps показывает, что на сервере выполняются два пользовательских процесса – оболочка bash и собственно команда ps. Оба процесса запущены с удаленной консоли pts/0.

Завершаем удаленный сеанс командой logout.

Разработанная лабораторная установка позволяет в деталях изучать удаленное управление Linux-сервером. Настройка SSH на сервере может производиться с использованием конфигурационного файла sshd_config. Справку по его синтаксису пользователь может получить по команде man sshd_config. В пакете openssh-server находится конфигурационный файл с типовыми настройками.

4. Удаленный доступ с Windows-клиента

Встроенные клиенты SSH есть не у всех операционных систем, у UNIX - есть, у Windows - нет. Под Windows можно поставить SSH клиента - PuTTY, (официальный сервер http://www.chiark.greenend.org.uk/~sgtatham/putty/). Состав используемого дистрибутив а

PuTTY показан на рис. 9.10.

Рис.9.10. Состав дистрибутива PuTTY.

Putty это несколько отдельных программ, предназначенных для работы с unixсервером по протоколам SSH1, SSH2, Telnet, Rlogin, Raw. Программа работает на Windows для Intel x86 и Alpha, а также на UNIX. Показанный на рис. 9.11 полный комплект программ, под общим названием PuTTY, состоит из следующих утилит:

- putty.hlp – файл справки;

- putty.exe - клиент для соединения с сервером по протоколам telnet, ssh, raw, rlogin;

- puttygen.exe - генератор rsa/dsa ключей;

- pageant.exe - агент аутендификации, хранит ключи в памяти, при его использовании не нужно руками вводить ключевую парольную фразу;

- plink.exe - интерфейс командной строки для putty;

- pscp.exe - безопасное копирование файлов;

- psftp.exe - безопасный ftp клиент для копирования, просмотра, переименования файлов и т.д.

Устанавливать putty необязательно, можно просто скопировать файлы в нужную директорию.

Запускаем putty.exe и создаем профиль с настройками для нашего удалённого сервера. В PuTTY можно создавать профили для различных SSH серверов, так что Вам не придётся вбивать настройки для конкретного сервера, когда Вы захотите к нему очередной раз подсоединиться. Сейчас мы находимся в категории Sessions (см. дерево слева на рис. 9.11). Вводим адрес хоста 192.168.100.3 в строку Host Name (or IP adress) , оставляем предлагаемые по умолчанию номер порта (22) и Protocol (SSH). П од надписью Saved Sessions (сохранённые сессии) вводим имя профиля, например, Session with CentOS , которое поможет вспомнить, к какому серверу относится этот профиль.

Рис.9.11. Создание профиля с настройками в PuTTY

Затем идем в категорию Connection -> Data и указываем в Auto-login username (см. рис. 9.12) имя пользователя, под которым будем подключаться к SSH серверу – root.

Рис.9.12. Задаем имя пользователя удаленного хоста

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

Saved Sessions, кликните Load и Open.

Теперь мы можем подсоединиться к нашему SSH серверу, просто кликнув Open . При первом соединении этого клиента, появляется (см. рис. 9.13) предупреждение об

угрозе безопасности, аналогичное сообщению, показанному на рис. 9.5. Это происходит потому, что PuTTY ещё не известен открытый ключ хоста сервера. PuTTY записывает ключ хоста для каждого сервера, к которому вы присоединяетесь, в регистр Windows. Каждый раз, когда вы присоединяетесь к серверу, она проверяет, что ключ хоста предоставленный сервером, есть тот же самый ключ, что был в последнем соединении. Если это не так, вы получите предупреждение и будете иметь возможность оборвать ваше соединение, прежде чем вы наберете какую-либо приватную информацию (такую как пароль). Поскольку мы подключаемся к серверу по протоколу SSH, то к этому соединению относится все сказанное в предыдущем выше относительно проверки открытого ключа сервера для подключения Linux-клиента.

В нашем случае сомнения в подлинности сервера отсутствуют - нажимаем кнопку

Рис. 9.13. Предупреждение PuTTY при первом подключении к удаленному хосту

Поскольку мы сохранили имя, под которым соединяемся, в настройках профиля, нам не нужно вбивать его снова, мы только укажем пароль пользователя (рис. 9.14).

Рис. 9.14. Сеанс удаленного управления сервером

Удаленное соединение установлено. На рис. 9.14 показано выполнение нескольких команд на удаленном Linux-сервере и затем – удаленная перезагрузка сервера. После перезагрузки сессия становится неактивной. Ее следует закрыть и снова подключиться к серверу, когда он загрузится.

Был рассмотрен наиболее распространенный способ соединения - с парольной идентификацией. Если кто-нибудь узнает имя и пароль, он тоже сможет соединиться. Поэтому если у Вас простой пароль и/или Вы стали жертвой атаки с прямым перебором, могут быть проблемы. В качестве альтернативы можно использовать способ Аутентификации самого пользователя с использованием шифрования с открытым ключом. Вы можете использовать PuTTYgen для изготовления пары закрытого и открытого ключей. Затем открытый ключ надо будет передать серверу, а закрытый ключ прикрепить к профилю PuTTY. Эти процедуры подробно описаны в руководстве putty.hlp.

Таким образом, разработанная лабораторная установка позволяет в деталях изучать удаленное управление Linux-сервером с Winows-клиента.

Порядок выполнения работы:

1) Проверить, запущен ли супер-сервер xinetd. Если не запущен – доустановить супер-

сервер из пакета xinetd-2.3.14-10.el5.i386.rpm. (/usr/sbin)

2) Проверить, используя команду find, наличие и месторасположение ssh-сервера shhd. Если sshd не установлен – доустановить из пакетов

openssh-4.3p2-16.el5.i386.rpm, openssh-askpass-4.3p2-16.el5.i386.rpm; openssh-server-4.3p2-16.el5.i386.rpm. (usr/sbin)

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

Также можно пробросить RDP-шный трафик через SSH-туннель. Для этого нужно поправить конфигурационный файл xrdp:

$ vi /etc/xrdp/xrdp.ini
В секцию нужно добавить строку: address=127.0.0.1

$ systemctl restart xrdp
Проверить, что всё правильно, можно так:

$ nmap -p 3389 Starting Nmap 6.47 (http://nmap.org) at 2016-10-04 13:07 MSK Nmap scan report for unspecified.mtw.ru () Host is up (0.0087s latency). PORT STATE SERVICE 3389/tcp closed ms-wbt-server
Затем если вы используете cygwin или mingw, linux или mac os:

Ssh root@ -L 3389:localhost:3389
Если PuTTY:

Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 3389, Destination: localhost:3389). Нажимаем Add.

VNC

Клиент:

Для примера поставим эту DE:

$ apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E $ echo "deb http://packages.x2go.org/debian jessie main" > /etc/apt/sources.list.d/x2go.list $ echo "deb-src http://packages.x2go.org/debian jessie main" >> /etc/apt/sources.list.d/x2go.list $ apt-get update $ apt-get install x2go-keyring && apt-get update $ apt-get install x2goserver x2goserver-xsession
Вывод следующей команды должен показать, что x2go готов к работе:

$ systemctl status x2goserver ● x2goserver.service - LSB: Start and stop the X2Go daemon Loaded: loaded (/etc/init.d/x2goserver) Active: active (running) since Tue 2016-10-11 22:05:51 MSK; 30min ago ...
А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле.profile строку «mesg n» и заменить её на «tty -s && mesg n».

$ vi .profile
Следующая команда выведет путь до исполняемого файла startfluxbox, понадобится при настройке клиента:

$ whereis startfluxbox
Установка сервера на Ubuntu:

$ apt-get install xfce4 xfce4-terminal $ add-apt-repository ppa:x2go/stable $ apt-get update $ apt-get install x2goserver x2goserver-xsession

$ vi .profile
Установка сервера на CentOS:

$ yum install epel-release $ yum install x2goserver x2goserver-xsession
Клиент для линукс ставится из вышеприведенных репозиториев следующей командой:

$ apt-get install x2goclient
Для Windows - скачиваем, ставим, запускаем. По той же ссылке, приведенной выше, есть клиент для OS X.

Запускаем клиент:

В настройках сессии указываем: в поле Host - IP вашего сервера, в поле Login - root, порт оставляем как есть, session type - тот GUI который ставили.

Как вы можете видеть, есть возможность аутентификации по ключу. В общем много всякого. Посмотрите сами. И звук можно через PulseAudio выводить.

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

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

Важной возможностью x2go является возможность запуска любого графического приложения вообще без установки DE. Для этого в настройках сессии нужно в секции session type нужно выбрать пункт single application и выбрать выполняемое приложение или ввести путь к программе которую следует запустить.

В этом случае установка ПО на сервер будет выглядеть следующим образом. В случае с Ubuntu:

$ add-apt-repository ppa:x2go/stable $ apt-get update $ apt-get install x2goserver x2goserver-xsession
А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле.profile строку «mesg n || true» и заменить её на «tty -s && mesg n».

$ vi .profile $ apt-get install firefox xterm
И настроив сессию как показано ниже, можно будет запустить браузер на удаленном сервере, а на вашей машине откроется окно его отображающее:

Или так; тогда просто откроется окно терминала:

Ниже вы можете видеть скриншот окна статуса текущей сессии. Оранжевыми цифрами отмечены кнопки:

  1. «Suspend session» - после нажатия на эту кнопку соединение будет разорвано, но сессия останется и будет ожидать повторного подключения. Все запущенные вами на сервере приложения продолжат свою работу;
  2. «Terminate session» - после нажатия подключение к серверу будет разорвано, а запущенные вами на сервере приложения будут завершены.

TeamViewer

Последний способ удаленного доступа к рабочему столу.

Установка на Ubuntu:

$ apt-get update $ apt-get install lubuntu-desktop $ reboot $ dpkg --add-architecture i386 $ apt-get update $ wget http://download.teamviewer.com/download/teamviewer_i386.deb $ dpkg -i teamviewer_i386.deb $ apt-get -f install $ teamviewer --passwd
Установка на Debian:

$ apt-get update $ apt-get install lxde lightdm $ reboot $ dpkg --add-architecture i386 $ apt-get update $ wget http://download.teamviewer.com/download/teamviewer_i386.deb $ dpkg -i teamviewer_i386.deb $ apt-get -f install $ teamviewer --passwd
Установка на CentOS:

$ yum groupinstall "X Window system" $ yum install epel-release $ yum install fluxbox xterm lightdm $ systemctl set-default graphical.target $ reboot $ curl -o TeamViewer_Linux_PubKey.asc -Lk http://www.teamviewer.com/link/?url=354858 $ rpm --import TeamViewer_Linux_PubKey.asc $ curl -LOk http://download.teamviewer.com/download/teamviewer.i686.rpm $ yum install teamviewer.i686.rpm $ teamviewer --passwd
Также необходимо принять лицензионное соглашение TeamViewer’а, это можно сделать с помощью «Аварийного режима», либо добавить следующие строки в конец файла /opt/teamviewer/config/global.conf:

$ echo " EulaAccepted = 1" >> /opt/teamviewer/config/global.conf $ echo " EulaAcceptedRevision = 6" >> /opt/teamviewer/config/global.conf $ teamviewer --daemon restart
Следующая команда покажет состояние демона TeamViewer’а и необходимый для подключения девятизначный TeamViewer ID:

$ teamviewer --info

После запуска клиента скачанного тут, нужно ввести TeamViewer ID в поле Partner UD и нажать на кнопку «Connect to partner». Далее TeamViewer запросит пароль: .

Вместо заключения

Вот вроде бы и всё. Надеемся что эта статья поможет пользователям linux-серверов в настройке комфортного и удобного для них окружения.

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

Radmin (shareware)

Лет десять назад самой популярной программой для удаленного доступа была Radmin, она и сейчас есть (www.radmin.ru) - она никуда не подевалась за это время. С нее и начнем обзор.

Программа состоит из двух частей: Server и Viewer. Первая запускается на удаленном компьютере (или удаленных компьютерах), а вторая - на твоем компьютере и используется для подключения к удаленным машинам, которые ты собираешься настраивать. На сайте разработчиков можно скачать как полный комплект, так и отдельные компоненты. Также есть portable-версия Viewer, работающая без установки, и версия Radmin Server 3.5 NTI - это специальная версия без пиктограммы в трее, то есть пользователь удаленного компа и не узнает, что на нем установлена Radmin, пока ты не начнешь управлять его компьютером.


Отмечу ключевые возможности: поддержка Windows 8 32/64 bit, поддержка переключения сессий пользователей в Windows XP/Vista/7/8, совместимость с Wine (Radmin может организовать удаленный доступ к ПК под управлением Linux через Wine), поддержка Telnet, удаленное выключение ПК, сканер серверов Radmin (позволяет найти все ПК, которыми ты можешь управлять в своей сети), передача файлов между Server и Viewer.

Выводы:

  • Функционал программы: здесь и собственная аутентификация, и поддержка голосового чата, и возможность передачи файлов. Все очень удобно.
  • Благодаря тому, что на удаленном компе установлен Server, не нужно присутствие пользователя, как в других подобных программах. Например, ты можешь администрировать удаленные ПК своих коллег, когда те ушли на обед. В других подобных программах необходимо или чтобы пользователь разрешил соединение, или же чтобы пользователь предоставил тебе пароль, который генерируется автоматически при каждом сеансе связи.
  • Низкие системные требования, программа совсем не грузит процессор, что особо актуально для моего старого ноута с процем от AMD, который греется как утюг, - он и выступал в роли «удаленного» компа.
  • Просто запустить Server недостаточно, нужно его еще и настраивать.
  • Многие пользователи любят TeamViewer не за его функциональность, а за то, что он не требует каких-либо особых портов (по умолчанию он использует 80-й порт) и не требует настройки брандмауэра. Radmin Server использует порт 4899, и запустить его без настройки брандмауэра не получится.
  • Нет мобильных клиентов.
  • Не поддерживает другие ОС.

TeamViewer (freeware)

Сейчас, наверное, из программ для удаленного доступа популярнее всех TeamViewer. Ты можешь скачать ее полную версию с www.teamviewer.com/ru и при этом не заплатить ни копейки. Для некоммерческого использования программа абсолютно бесплатна.


Рис. 4. TeamViewer запущен

TeamViewer радует поддержкой Windows, OS X, Linux, которой так не хватало в Radmin. Также есть мобильные клиенты для Android, iPad/iPhone: ты можешь управлять удаленным компом со своего айфона. Также есть Portable-версия программы для Windows, что очень полезно для нечастого использования программы, причем Portable-версию можно запускать, как на «сервере», так и на «клиенте», в отличие от Radmin, где можно запустить только клиент (Viewer) без установки, а «серверную» часть нужно обязательно устанавливать.

После запуска программы ты увидишь основное окно TeamViewer и окно «Компьютеры и контакты» (рис. 4). Если ты планируешь помогать сразу всем своим родственникам и коллегам, можешь нажать кнопку «Зарегистрироваться», создать аккаунт, и тогда в этом окне ты будешь видеть все многочисленные компы, которые ты настраивал.


Рис. 5. TeamViewer в действии

Теперь разберемся, что есть что. Если нужно подключиться к твоему компу, то удаленной стороне ты должен сообщить свой ID (в данном случае 969 930 547) и пароль (8229). Как сообщить, уже решай сам - можно скопировать и передать эти значения по скайпу, аське, по электронке, SMS или просто продиктовать по телефону. Этот пароль меняется при каждом запуске программы. Если программа установлена на твоем компе, можно сделать постоянный личный пароль, но я не рекомендую: пароль может быть скомпрометирован и тогда кто угодно сможет подключиться к твоему компу.

Если нужно подключиться к удаленному компу, то тебе нужно ввести ID удаленной стороны (в данном случае 411108007) и нажать кнопку «Подключиться к партнеру», после чего программа попросит ввести пароль, который ты получил от удаленной стороны. Вот и все - в появившемся окне можно производить настройку удаленного компа (рис. 5).

Наверное, ты уже заметил основное отличие от Radmin: нужно передать пароль тому, кто настраивает комп, а в Radmin пароль указывается при создании учетки пользователя. Другими словами, нужно присутствие пользователя за компом. Спрашивается, а как же организовать домашний офис, когда ты из дома хочешь получить доступ к рабочему компу, например, ночью. Все очень просто. Нужно организовать автозапуск TeamViewer (например, добавить в группу «Автозагрузка» или прописать в реестре в ключе Run) и задать «Личный пароль». Обрати внимание, что задать личный пароль нельзя, если программа не установлена на компе, а запущена без установки.

Есть еще одна программа, о которой ты должен знать: TeamViewer Host. Она запускается как системная служба и используется для круглосуточного доступа к удаленному компу, включая вход в систему / выход из нее. Получается, что TeamViewer Host позволяет организовать сервер терминалов, причем он поддерживает неограниченное число клиентов для одного сервера (число клиентов ограничено только вычислительными возможностями твоего компа). Также нужно отметить, что для установки TeamViewer Host нужны права администратора, которые не всегда есть, поэтому все равно в большинстве случаев будешь пользоваться обычным TeamViewer. Однако если нужно настроить всего один комп (или просто организовать к нему удаленный доступ, скажем из дому), то TeamViewer Host не нужен. Ради справедливости нужно отметить, что если на компьютере А запущен обычный TeamViewer (не Host), то к нему могут подключиться компы Б, В, Г (число три приведено для примера) для совместного администрирования. Другое дело, что нужно согласовывать действия администраторов, поскольку клавиатура и мышь общие, но один может настраивать, остальные будут наблюдать.

Как и Radmin, TeamViewer позволяет обмениваться файлами, голосовыми и текстовыми сообщениями, а также удаленно перезагружать компьютер (нужная команда находится в меню «Действия», см. рис. 5, просто перезагрузить компьютер недостаточно - ведь тогда не будет установлен сеанс связи TeamViewer, перегружать компьютер во время его настройки нужно только через меню «Действия»).

Выводы:

  • Простота (программа проще, чем Radmin, - огромное преимущество для неподготовленных пользователей, которым придется установить ее на удаленной стороне).
  • Программа полностью не требует установки: как на клиенте, так и на сервере. Установка производится по желанию.
  • Работает через порт 80 (и еще некоторые дополнительные порты), благодаря чему не требует настройки брандмауэра.
  • Наличие версий для других ОС.
  • Наличие мобильных клиентов для Android, iOS и Windows Phone 8 (то есть ты можешь управлять удаленным компом прямо со своего iPad).
  • Возможность организации интерактивных конференций (до 25 участников).
  • Не требует прав администратора для удаленного доступа.
  • Грузит процессор заметно больше, чем Radmin, мой старенький ноут даже перегрелся и выключился.
  • Мобильные клиенты хоть и есть, но они не очень удобны (впрочем, это лучше, чем ничего).

Royal TS (shareware)

Когда-то была такая программулина - mRemote. Не знаю, что там произошло, но проект mRemote был закрыт, а разработчики взяли и создали другой проект - Royal TS . На сайте ты найдешь версии для Windows, OS X и iOS (можно запускать с iPhone и iPad).

В Royal TS перед созданием подключения нужно создать документ, то есть одно подключение = один документ. Документы Royal TS весьма удобная штука, их можно передавать как обычные файлы, например другому админу. Он сможет открыть такой документ и сразу подключиться к удаленному компу без необходимости создавать соединение вручную. У shareware-версии есть ограничение на число одновременно открытых документов - десять. Как по мне, то этого вполне достаточно для некоммерческого использования программы, поэтому на практике ты даже не заметишь, что тебе чего-то не хватает (если, конечно, ты не администрируешь удаленно огромную сеть компов).

Первым делом нужно сказать, что эта программа кардинально отличается от Radmin и TeamViewer. Обе эти программы сочетают в себе функциональность как сервера, так и клиента (в случае с Radmin сервер и клиент - это разные программы, в случае с TeamViewer - одна и та же программа). Другими словами, на одном из компьютеров ты можешь установить Radmin Server или TeamViewer, а на другом использовать Radmin Viewer или TeamViewer соответственно для подключения к этому удаленному компу. Так вот, Royal TS - это что-то наподобие Radmin Viewer, то есть программа для подключения к удаленному серверу, но вот сервер придется создавать своими силами. Как ты это сделаешь - твои проблемы. Royal TS не поможет тебе создать такой сервер, а только даст подключиться к нему.


Рис. 6. Royal TS для Windows

Среди протоколов подключения к удаленному серверу, которые поддерживает Royal TS: RDP, Telnet, SSH, Citrix, VNC. Сами же серверы RDP/Telnet/SSH и прочие придется настраивать самостоятельно.

С одной стороны, это выходит за рамки статьи, с другой - она была бы неполной, если бы я не привел пример настройки хотя бы одного из серверов, которые поддерживает Royal TS. SSH/Telnet-серверы, думаю, читателю будут не очень интересны. Хочется чего-то графического. Пусть у нас есть Linux (Ubuntu или ее клон) и нужно настроить VNC-сервер. Для этого сначала установим VNC-сервер командой:

Sudo apt-get install vnc4server

После этого нужно его запустить - в первый раз без параметров:

Sudo vnc4server

В процессе запуска команды sudo vnc4server нужно ввести пароль, который будет использоваться для подключения к этому VNC-серверу. Сам пароль будет сохранен в $HOME/.vnc/passwd. Больше не скажу ни слова - есть man:). После первого запуска нужно запустить vnc4server, указав номер экрана:

Sudo vnc4server:3

Далее в Royal TS нужно создать новый документ (на вкладке File), далее перейти на вкладку Edit и нажать кнопку VNC. В появившемся окне (рис. 7) нужно ввести имя дисплея (Display Name) - в нашем случае:3, IP-адрес VNC-сервера и указать номер порта (обычно 5900). Пароль будет запрошен при подключении к серверу.


Рис. 7. Параметры подключения к VNC

Выводы:

  • Универсальный клиент для подключения к удаленному серверу по различным протоколам.
  • Есть версии для Windows, OS X и iOS.
  • Невозможно организовать удаленный доступ только средствами Royal TS, нужны дополнительные программы.
  • Не подходит для удаленной настройки компьютеров неопытных пользователей - они просто не смогут настроить необходимые службы удаленного доступа.

Supremo: бесплатно и просто (freeware)

Давай проанализируем ситуацию. Если тебе не нравится TeamViewer или ты не можешь его использовать по некоторым причинам (в том числе и из-за необходимости покупки лицензии для коммерческого использования), а Radmin тоже не подходит по каким-либо причинам, то придется искать аналоги. Раз в статье идет речь о простых и бесплатных программах, то нужно, чтобы следующая программа была: а) бесплатной; б) простой. Такой является программа Supremo, которую можно скачать с сайта .

Программа (рис. 8) создана «по образу и подобию» TeamViewer. Она не требует установки, принцип работы ее такой же, как у TeamViewer, даже терминологию она использует такую же (это я относительно ID партнера и других надписей в интерфейсе программы).

Настраиваемый компьютер и компьютер специалиста поддержки должны работать под управлением только Windows. Поддерживаются разные выпуски Windows, в том числе Windows 7 и Windows Server 2008 R2. О поддержке Windows 8 и Windows Server 2012 на официальном сайте пока ничего не сказано.


Рис. 8. Программа Supremo

Алгоритм ее использования прост: нужно запустить программу на обоих компьютерах, затем запросить у удаленной стороны ее ID и пароль, после чего нажать кнопку «Соединиться». Перед этим удаленная сторона должна нажать кнопку «Старт», иначе соединение не будет разрешено. Пожалуй, это единственное отличие от TeamViewer.

Чтобы обзор был более полным, зайдем в настройки программы (Инструменты -> Опции). В разделе «Безопасность» (рис. 9) можно настроить автоматический запуск программы, указать пароль для удаленных подключений и указать, каким ID разрешено подключаться к твоему компу.

Рис. 9. Параметры безопасности Supremo

В разделе «Соединение» (рис. 10) можно указать параметры прокси-сервера, если он присутствует в твоей сети.

Рис. 10. Параметры соединения Supremo

Кроме своего прямого назначения, а именно удаленного управления компьютером, программа может использоваться для обмена файлами. Для обмена файлами (который возможен в двух направлениях - как скачивание, так и закачка) просто используй drag & drop.

Выводы:

  • Проста в использовании.
  • Не требует установки.
  • Возможность передачи файлов.
  • Возможность чата.
  • Не требует настройки брандмауэра (используется HTTPS/SSL).
  • Нет поддержки других ОС, кроме Windows.
  • Нет мобильных клиентов.

LogMeIn (freeware)

Рассмотрим еще одну полезную программу - LogMeIn (рис. 11). Назначение этой программы, такое же, как и у всех остальных, рассмотренных в этой статье, - удаленный доступ. На сайте logmein.com ты найдешь несколько подобных продуктов, нас же в первую очередь интересует продукт LogMeIn Free. Ее возможностей вполне достаточно для большинства целей: доступ к компу под управлением Windows или OS X, удаленное управление и просмотр рабочего стола, копирование и вставка данных между компьютерами, функция перезагрузки, чат, поддержка нескольких мониторов, обнаружение вторжения по протоколу SSL/TLS, не требует настройки параметров брандмауэра, не требует прав администратора удаленного компа.

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

В отличие от версии Free, версия Pro поддерживает передачу файлов между компами, видео в формате HD, перетаскивание файлов между компьютерами и еще несколько функций, за которые вряд ли стоит платить почти 53 евро в год - именно столько стоит Pro-версия. Сравнение этих двух версий, а также версии для OS X можно прочитать по адресу: https://secure.logmein.com/comparisonchart/comparisonFPP.aspx.

Рис. 11. Основное окно LogMeIn

Способ работы с этой программой немного отличается от TeamViewer и подобных программ. Все немного сложнее, но, видимо, именно так разработчики LogMeIn определяют, кто и в каких целях использует программу. В основном окне выбери «с Mac или ПК» и затем увидишь последовательность действий, которую нужно выполнить, чтобы предоставить другому пользователю доступ к этому компу (рис. 12). Дедушка с бабушкой точно запутаются и не оценят. Без регистрации на logmein.com не обойтись, она хоть и бесплатная, но в плане удобства совершенно лишняя.

Рис. 12. Как подключиться к этому ПК

Есть, правда способ проще - анонимный доступ через браузер. Довольно интересная фишка, которой нет в других подобных программах. Суть в следующем: пользователь, который хочет, чтобы ты настроил его комп, создает ссылку-приглашение, затем передает ее любым удобным способом тебе (по email, по скайпу и так далее). Ссылка-приглашение действительна определенное время (время назначает удаленный пользователь), даже если ссылку кто-то подсмотрит, он вряд ли сможет ей воспользоваться после истечения срока годности.

Давай рассмотрим, как создать приглашение и как его использовать. В разделе «Общий доступ к рабочему столу» выводятся текущие приглашения. Нажав кнопку «Отправить приглашение», ты можешь сгенерировать ту самую ссылку. Мастер создания приглашения позволяет определить длительность приглашения и способ отправки приглашения (можно отправить по электронной почте ссылку, а можно просто получить ссылку и отправить ее вручную).


Рис. 13. Управление удаленным компьютером через браузер

Потом эту ссылку нужно отправить человеку, который будет заниматься настройкой компа. Когда он скопирует ее в браузер и откроет, то увидит экран, подобный изображенному на рис. 13. Для продолжения нужно нажать кнопку «Продолжить». После чего пользователь, отправивший ссылку, последовательно получит два запроса. Первый запрос - это запрос на разрешение доступа гостю, второй запрос - на предоставление прав доступа (рис. 20). Гость может или полностью управлять компьютером, или только просматривать рабочий стол без возможности управления.

Выводы:

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

Mosh (mobile shell): хорошая альтернатива для SSH

Mosh тоже можно использовать для удаленного доступа к консоли (то есть ты сможешь удаленно выполнять команды и будешь видеть их результат). Основное преимущество Mosh над SSH - возможность роуминга, то есть смены сети на клиентской машине, что полезно в дороге, когда сеть может меняться (сейчас она сотовая, через несколько минут - Wi-Fi, при этом меняется IP, но соединение остается). Часто путешествующие админы оценят это по достоинству. Но есть один большой недостаток: к обычному SSH-серверу Mosh не подключится, то есть на сервере придется устанавливать Mosh. Зато Mosh работает не в виде демона, как SSH, а как обычная программа, то есть для ее запуска не нужен root-доступ. Mosh доступен для многих дистрибутивов Linux и BSD, OS X, iOS (в составе популярного клиента iSSH) и Android.

UltraVNC/RealVNC

VNC (Virtual Network Computing) - система удаленного доступа к рабочему столу компьютера, использующая протокол RFB (Remote FrameBuffer). Ранее было показано, как организовать VNC-сервер в Linux, в Windows такой сервер можно создать средствами программ UltraVNC или RealVNC . Программа UltraVNC подобна RealVNC, но обладает дополнительными возможностями вроде шифрования соединения между клиентом и сервером, модуля Java Viewer (доступ к удаленному ПК через браузер с поддержкой Java) и других. Хотя у RealVNC есть плагин VNC Viewer для Google Chrome, поэтому нет необходимости в Java Viewer. Как уже было отмечено, программы во многом подобны, поэтому в этой статье мы рассмотрим только UltraVNC.

При установке UltraVNC есть возможность установить как VNC-сервер, так и VNC-клиент. На твой компьютер, если к нему не нужен удаленный доступ, VNC-сервер можно не устанавливать. При установке VNC-сервера будет возможность настроить его для запуска в виде системной службы, но для этого нужны права админа. Протокол RFB, который использует VNC, обычно подразумевает использование портов 5900–5906. Следовательно, для соединения по VNC нужно настраивать брандмауэр, иначе он «зарежет» соединение.

Для подключения к VNC-серверу используется программа UltraVNC Viewer. Программа универсальна, и ты можешь использовать ее для подключения к любому VNC-серверу, а не только к тому, на котором запущен UltraVNC Server. Аналогично к серверу, созданному программой UltraVNC Server, можно подключиться программой RoyalTS или любым другим VNC-клиентом.

Пару слов о том, как это все работает. Сначала запускаем программу UltraVNC Edit Settings и на вкладке Security задаем пароль для доступа к VNC-серверу, затем нужно запустить программу UltraVNC Server. После на другом компьютере запускаем UltraVNC Viewer (рис. 14) и вводим IP компа, на котором установлен VNC-сервер, и нажимаем кнопку Connect.

Рис. 14. UltraVNC Viewer

Выводы:

  • Нужны права админа, нужно настраивать брандмауэр.
  • Один и тот же протокол можно использовать для управления Windows, OS X и Linux, но это преимущества не конкретной программы, а самой VNC.

SSH-доступ

Классикой удаленного доступа остается SSH. Казалось бы, что тут можно еще придумать? Ну, например, что делать, если у тебя много удаленных машин? Прописывать алиасы для каждой? Есть специальные утилиты, позволяющие быстро переключаться между машинами. Один из таких менеджеров в Linux - Gnome Connection Manager . Программа очень удобна, настоятельно рекомендуем. В Windows для этой цели используется AutoPuTTY - оболочка для популярного SSH/Telnet-клиента PuTTY, скачать которую можно по адресу: http://www.r4dius.net/autoputty/. Аналогичный менеджер SSH-соединений есть и для OS X -Shuttle . Для мобильных платформ можно использовать мобильные SSH-клиенты - Prompt (iOS) и ConnectBot (Android). Ссылки и скриншоты ты без проблем найдешь в Сети.

Ammyy Admin (freeware)

Ammyy Admin - еще одна программа для удаленного доступа к рабочему столу. Программа хороша тем, что она абсолютно бесплатна, совсем нетребовательна к ресурсам (исполнимый файл вообще занимает смешные 700 Кб), позволяет организовать как обычный удаленный доступ к рабочему столу, так и соединение в стиле удаленного офиса, не требует установки и изменения параметров брандмауэра. С остальными возможностями программы ты сможешь ознакомиться на сайте разработчиков.

AnywhereTS (freeware)

Позволяет конвертировать компы в тонкие клиенты. Основное назначение этой программы отнюдь не удаленный доступ из соображений технической поддержки, как во всех ранее описанных программах, хотя ее тоже можно использовать для этого. AnywareTS позволяет дать вторую жизнь старым компам, которые будут использоваться как тонкие клиенты - подключаться к серверу, на котором будут выполняться программы, которые физически невозможно запустить на старых ПК. Подробную информацию об этой программе ты найдешь на сайте разработчиков.

Удаленный доступ в Windows 8

Данный обзор был бы не полным, если бы мы не рассмотрели возможности самой ОС. На «сервере» (то есть на компе, к которому планируется удаленный доступ) нужно выполнить следующие действия:

  • Запустить SystemPropertiesRemote.exe.
  • Включить флажок «Разрешить подключения удаленного помощника к этому компьютеру».
  • Включить переключатель «Разрешить удаленные подключения к этому компьютеру» и нажать кнопку «Применить».
  • Если используется энергосберегающий режим, нужно настроить комп так, чтобы он никогда не переводился в спящий режим.

На своем компе используй приложение «Подключение к удаленному рабочему столу» для подключения к удаленному компу.

Рис. 15. Разрешение удаленного доступа

Google Hangouts: шеринг экрана и видеоконференции

Как крайнюю меру можно использовать новый сервис от Google - Hangouts . Он позволяет устраивать видеовстречи, во время которых пользователи могут демонстрировать друг другу свой экран. При желании можешь ознакомиться с этим сервисом самостоятельно.

Вместо заключения

Программ для удаленного доступа очень много. Как я, надеюсь, показал, самый привычный инструмент не всегда самый эффективный. Нужно отталкиваться от условий конкретной задачи, целевых платформ и других факторов. Надеюсь, теперь я окончательно прояснил всю картину удаленного доступа в твоей голове. Все предложения и пожелания можешь отправлять на [email protected].

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

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

Удаленный рабочий стол Ubuntu

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

Откройте главное меню Dash и наберите в поиске Desktop Sharing.

Если система ничего не обнаружит, это частый баг. Вы можете запустить утилиту через терминал. Для этого откройте терминал с помощью Ctrl+Alt+T и выполните:

vino-preferences

Дальше, в открывшемся окне установите галочку "Позволить другим пользователям видеть ваш рабочий стол" Затем напротив поля "Требовать пароль" введите пароль, который будет использоваться для подключения:

Здесь все, удаленный рабочий стол ubuntu настроен. И уже сейчас вы можете пытаться подключиться к вашему компьютеру с помощью другого дистрибутива Linux. Но есть еще один момент. Вы не сможете подключиться из Windows. По умолчанию включено обязательное шифрование. А это поддерживается не всеми клиентами. Чтобы отключить принудительное шифрование нужно установить dconf-editor:

sudo apt install dconf-editor

Затем откройте программу и перейдите по пути org.gnome.desktop.remote-desktop там снимите галочку из пункта:

Теперь вы готовы тестировать подключение к удаленному рабочему столу ubuntu. Откройте главное меню и найдите клиент удаленного подключения Remmina.

В строке подключения выберите протокол VNC , затем введите адрес, поскольку мы собрались проверять на локальной машине, то введите localhost, в других же случаях вам придется использовать ip адрес компьютера. Дальше нажмите "Подключиться" :

Сразу же программа спросит у вас пароль чтобы получить удаленный доступ к компьютеру:

А затем уже в системе VNC сервер спросит нужно ли разрешить подключение к удаленному рабочему столу ubuntu 16.04 этому клиенту:

После того как вы одобрите подключение, можете пользоваться удаленным рабочим столом. Теперь самое время подключаться из другого компьютера. Вы можете использовать любой VNC клиент для Linux, Windows или Android и подключиться к своему компьютеру если он находится в локальной сети. Кроме того, вы можете получить к нему доступ даже через интернет создав частную локальную сеть, например, с помощью hamachi или OpenVPN.

Выводы

В этой статье мы рассмотрели как выполняется настройка удаленного рабочего стола Ubuntu 16.04, а также как получить к нему доступ с помощью других устройств. Все очень просто, даже проще, чем с тем же x11vnc, для которого нужно создать несколько конфигурационных файлов. Если у вас остались вопросы, спрашивайте в комментариях!

Похожие записи: