Организация удаленного доступа linux

Удаленная поддержка компьютера на Linux OS

Настройка IPv6-туннеля за симметричным NAT и удаленного управления через VNC

Не так давно я искал решение для удаленного администрирования системой на Linux. Основная проблема в том, что подключен к интернету через провайдеров, использующих симметричный NAT. То есть из internet машины не доступны. Если поискать, то можно найти некоторые программы для удаленного администрирования, но как правило они немало стоят. Опишу, как можно сделать доступ снаружи без таких программ с помощью IPv6-туннеля через gogonet и VNC.

Готовые программы

Просидев немало времени в поисках, нашел некоторые программы. И есть одна бесплатная для некоммерческого использования — это TeamViewer 6 (работает через wine). Работает отлично, функций немало, но у нее есть некоторые недостатки: он сам пытается вычислить коммерческое использование и может ограничить его. Что у меня и случилось, хотя на самом деле я использовал ее только в личных целях. А также программа постоянно показывает предупреждающие о некоммерческом использовании окна, что немного мешает.

Запустить через Wine

Под Windows есть замечательная программа Ammy Admin, которая позволяет подключаться к удаленной системе через интернет и ей не мешают фаерволы и NAT. При этом она может быть установлена как сервис, что избавляет от действий на той стороне: не требуется запуск, передача новых кодов, паролей управляющей стороне, один раз настроили, подключились, разрешили.
Также можно включить звук, передавать файлы и настроить разные параметры.

Первая идея — запустить её под wine в Ubuntu. При запуске появляются ошибки, но дальше программа работает, правда только как оператор (я её так и использую для подключения win-машинам). То есть управлять машиной работающей под linux не получится.

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

Решение 1 — Teredo
Туннель Teredo

Некоторым повезло с провайдером и им подойдет вариант с туннелем Teredo: IPv6 через IPv4. Под ubuntu есть программа под названием Miredo, который создает туннель и после этого уже имеется свой IPv6-адрес. Для установки нужно просто выполнить:
sudo apt-get install miredo

Теперь можно посмотреть свой адрес:

Можно проверить подключение по IPv6 также открыв сайт Test-ipv6.com.
Teredo работает и через симметричный NAT, но только на исходящие подключения — достучаться снаружи не получится.

Поставив на двух машинах проверил, что сайты мой IPv6-адрес определяют нормально. Далее пробую пинговать сначала гугл:
ping6 -n ipv6.google.com
PING ipv6.google.com(2a00:1450:4001:c01::63) 56 data bytes
64 bytes from 2a00:1450:4001:c01::63: icmp_seq=1 ttl=59 time=85.2 ms
64 bytes from 2a00:1450:4001:c01::63: icmp_seq=2 ttl=59 time=79.8 ms
64 bytes from 2a00:1450:4001:c01::63: icmp_seq=3 ttl=59 time=82.2 ms

А потом друг друга:
ping6 2001:0:53aa:64c:2ca9:1bc4:9253:b1e2
Если пинг в данном случае идет, значит NAT несимметричный и можно пользоваться teredo.
У меня пинг не пошел и пришлось искать другой вариант.

Решение 2 — Freenet6

Данный туннель работает и через симметричный NAT, но тут немного всё сложнее.
Заходим на сайт gogonet.gogo6.com и регистрируемся в gogoNET. Далее скачиваем клиент gogoCLIENT для linux. Там же регистрируемся уже для доступа к серверам. Если кто не нашел ссылку: gogonet.gogo6.com/page/freenet6-registration
Там есть и анонимный доступ, но я зарегистрировался и не зря. В конце статьи объясню почему.

Переходим к установке программы gogoc:
tar -xzf gogoc-1_2-RELEASE.tar.gz
cd gogoc-1_2-RELEASE/

Для компиляции у меня не хватает пакета libssl-dev:
sudo apt-get install libssl-dev

Компилируем:
make all
sudo make installdir=/usr/local/gogoc install

Теперь нам надо подправить конфигурацию клиента gogo:
sudo gedit /usr/local/gogoc/bin/gogoc.conf

В userid и passwd заполняем свои данные, полученные во время второй регистрации (там где имя, а не ящик).

Меняем сервер: server=amsterdam.freenet6.net
или montreal.freenet6.net (со стандартным иногда проблемы).
Меняем метод аутентификации: auth_method=any
Остальное оставляем, как есть. И можно проверять:
cd /usr/local/gogoc/bin/
sudo ./gogoc
Клиент нам говорит, что не знает такого сервера и спрашивает о добавлении ключа: amsterdam.freenet6.net is an unknown host, do you want to add its key?? (Y/N), соглашаемся: Y.

Читайте также:  C windows temp для чего эта папка

Теперь проверяем интерфейсы командой ifconfig:

Проверяем, что пинг со второго компа идет: ping6 2001:5c0:1000:b::9f29
Туннель готов.

X11VNC

Теперь для управления нужен VNC-сервер, который поддерживает IPv6.
Устанавливаем: sudo apt-get install x11vnc

А на подключающейся машине поставим клиент VNC — remmina: sudo apt-get install remmina

Запускаем x11vnc на сервере. Я запускаю такой строчкой:
x11vnc -display :0 -forever -unixpw -noxrecord -noxfixes -ncache 10

Такие параметры исправляют глюки с ATI (сеанс вылетал), также сервер продолжает работать после отключения клиента и используется авторизация unix.

И пробуем подключиться со второй системы через реммину, указав тип VNC и адрес 2001:5c0:1000:b::9f29.
Вот и готово первое подключение. Осталась одна проблема.

Автозагрузка и как узнать IPv6-адрес машины

Здесь я приведу своё решение, хотя я думаю оно далеко от идеала, но работает.

Автозагрузка gogoc после подключения интернета и перезапуск в случае завершения по ошибке с помощью shell-cкрипта, запуск которого я прописал в /etc/rc.local строкой /etc/autostart_gogoc & .
Содержимое файла autostart_gogoc:

Можно убрать комментарии перед эхо и, запустив от рута (через sudo), посмотреть, как работает.
Для автозагрузки x11vnc я добавил команду (см. выше) в автозапуск (Startup Applications).

Далее, чтобы узнавать текущий IP, я сделал следующее (каждый может придумать свой вариант).

1. Скрипт на PHP, который лежит на одном из моих сайтов и сохраняет присланные ip-адреса в текстовый документ:
200) <
array_splice($y,190);
>

2. Скрипт на PHP, через который я смотрю собранное:

Мои IP

Мои адреса:

Источник

Использование RDP-клиентов в Linux

Технология RDP (Remote Desktop Protocol) позволяет пользователям одинаковых или разных версий операционных систем совершать удаленное управление компьютером. Существуют специальные клиенты, отличимые от консольных утилит, где эта опция реализована через графический интерфейс, а это значит, что юзеру предоставляется полный вид рабочего стола, возможность взаимодействовать с клавиатурой и указателем мыши. В рамках сегодняшней статьи мы хотим рассказать об использовании популярных RDP-клиентов в Linux.

Используем RDP-клиенты в Linux

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

Вариант 1: Remmina

Remmina — самый популярный клиент удаленного рабочего стола, который по умолчанию предустановлен во многих дистрибутивах Linux. Однако зачастую его версия является устаревшей. Эта программа имеет простой и понятный GUI с огромным количеством вспомогательных инструментов. Освоить ее сможет даже начинающий пользователь, поэтому мы и поместили этот софт на первое место. Давайте пошагово разберем процедуру установки, настройки и подключения в Remmina.

Шаг 1: Установка

Начать следует с установки данного RDP-клиента в операционную систему. Как было сказано ранее, по умолчанию во многих дистрибутивах Remmina уже присутствует, но не помешает обновить ее версию, что не займет много времени.

    Если в вашей системе Remmina попросту отсутствует и вы хотите инсталлировать стабильную, но не самую последнюю сборку, для начала запустите «Терминал» удобным способом, например, через меню приложений или зажав комбинацию Ctrl + Alt + T.

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

Далее может потребоваться дополнительное подтверждение расширения занятого дискового пространства. После успешного завершения инсталляции можно переходить к использованию клиента. Если же вы желаете обновить версию, придется задействовать пользовательские хранилища, поскольку на официальные новые сборки не поступают. Реализация будет немного сложнее, а выглядит так:

    В консоли введите sudo apt-add-repository ppa:remmina-ppa-team/remmina-next , чтобы получить файлы из хранилища.

Вы будете уведомлены о получаемых пакетах. Примите их, нажав на Enter.

Ожидайте завершения скачивания файлов. Во время этой операции не закрывайте консоль и не прерывайте соединение с интернетом.

После этого следует обновить список системных хранилищ через команду sudo apt-get update .

Остается только произвести инсталляцию RDP-клиента и сопутствующих ему плагинов, введя sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard .

Читайте также:  Ccleaner для windows 10 портабле

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

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

Шаг 2: Запуск и настройка

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

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

Для перехода к настройкам кликните по кнопке в виде трех горизонтальных линий и выберите пункт «Параметры».

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

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

Шаг 3: Создание профиля и подключение

После установки оптимальной конфигурации Remmina остается только создать профиль для подключения, используя рассматриваемый протокол, чтобы успешно соединиться с удаленным рабочим столом. Мы предлагаем разобрать основной принцип этой процедуры.

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

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

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

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

Теперь остается только приступить к взаимодействию с удаленным рабочим столом, выполняя там необходимые действия. Если у вас возникли какие-то вопросы по управлению Remmina, обратите особое внимание на документацию: там в максимально развернутом виде описаны ответы абсолютно на все вопросы пользователей.

Вариант 2: rdesktop

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

Шаг 1: Установка rdesktop

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

    Откройте «Терминал» любым удобным образом.

Введите команду sudo apt-get install rdesktop и нажмите на Enter.

Подтвердите это действие, введя пароль суперпользователя в новой строке.

Установка будет продолжена сразу же после выбора положительного ответа «Д».

Запуск данной утилиты тоже осуществляется через «Терминал» через команду rdesktop .

Если используемый дистрибутив основан не на Debian, аргумент apt-get в команде инсталляции придется заменить на yum или pacman. В остальном же никаких различий со сборками Linux не имеется.

Шаг 2: Запуск и подключение

Если в консоли просто вписать команду rdesktop , следующими строками отобразится краткая сводка о синтаксисе и доступных опциях. Мы рекомендуем изучить появившиеся сведения, чтобы понять, как именно осуществляется соединение с удаленным рабочим столом через эту утилиту.

После этого можно осуществлять непосредственное подключение к другому компьютеру. Давайте разберем этот процесс на примере строки rdesktop -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP .

Здесь следует детально рассмотреть абсолютно каждый аргумент и вписываемую информацию.

  • -z . Эта опция отвечает за активацию сжатия потока. Используйте ее для оптимизации соединения. Особенно актуально для систем с низкой скоростью интернета.
  • -P . Создает кэширование. Это помогает сохранять некоторую информацию на локальном хранилище, в будущем не обращаясь каждый раз на сервер для ее загрузки.
  • -g . Устанавливает пользовательское разрешение окна рабочего стола. После этой опции введите необходимый параметр, чтобы он был применен.
  • -u . После этой опции укажите имя пользователя, которое будет отображаться на сервере.
  • -p . Данный аргумент необходим в случае присутствия пароля.
  • SERVER_IP . Всегда указывается в конце строки. Вместо этой надписи введите доменное имя сервера, к которому хотите осуществить подключение.
Читайте также:  Windows папка пользователя кириллицей

Шаг 3: Обмен файлами между Windows и Linux в текущей сессии

В завершение разбора утилиты rdesktop хотим рассказать об основных действия, выполняемых через ввод команд в консоли. Для начала поговорим о самых востребованных задачах, которые связаны с обменом файлов. Сетевая папка подключается через rdesktop -r disk:share=/home/documents -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP , где все указанные опции и адреса замените на требуемые.

После ввода этой команды папка станет доступна для чтения и записи, что позволит всячески управлять находящимися там файлами. Однако если возникли проблемы с доступом, придется закрыть сессию, активировать команду chown -R /home/documents USERNAME:USERGROUP , а уже потом подключить директорию повторно.

Шаг 4: Создание значка быстрого доступа

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

    В консоли создайте пустой текстовый файл с произвольным названием через удобный текстовый редактор. Сама команда обретет примерно такой вид: sudo nano rdesktop , где nano — используемый текстовый редактор, а rdesktop — название самого файла.

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

#!/bin/bash
rdesktop -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP

Сохраните все изменения и завершите работу в текстовом редакторе.

Введите команду chmod +x rdesktop , чтобы создать значок быстрого запуска на рабочем столе.

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

Вариант 3: freerdp

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

    Инсталлируется freerdp со всеми необходимыми компонентами через команду sudo apt-get install freerdp libfreerdp-plugins-standard .

Инсталляция начнется сразу же после подтверждения паролем.

Выберите ответ Д, чтобы загрузить все архивы.

Используйте строку xfreerdp -u black -d WORK -n «Lumpics» -a 15 -k US -g 1440×830 —plugin cliprdr —plugin rdpdr —data disk:DiskP:/home/black — my.rdp.server.net , чтобы запустить соединение с сервером.

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

  1. -u . Отвечает за имя пользователя на сервере. Сразу же после этой опции должен быть вписан соответствующий логин.
  2. -d . То же самое, но только с доменом рабочей группы, который определяется заранее и должен быть одинаковым у все участников локальной сети.
  3. -n . Определяет имя хоста.
  4. -a . После этого аргумента указывается глубина цвета окна. По умолчанию выбирается значение 15.
  5. -k . Устанавливает стандартную раскладку клавиатуры, где в качестве параметра указывается код государства.
  6. -g . Определяет размер отображаемого окна в пикселях.
  7. —plugin cliprdr . Активирует общий буфер обмена с будущим удаленным рабочим столом.
  8. —plugin rdpdr —data disk:DiskP:/home/black — . Подключает домашнюю папку как общую сетевую и позволяет обмениваться данными.
  9. my.rdp.server.net . Заменяется на имя используемого RDP-сервера.

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

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

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