Облачные операционные системы linux

Гайд для непрограммистов – как быстро сделать себе VDI (или виртуальное рабочее место) в облаке на ОС Linux

Предыстория этого гайда: для тестирования версии нашего с партнерами ПО под Линукс необходимо было организовать много стендов с разнообразными дистрибутивами (преимущественно отечественными).

Самым простым способом, как мне показалось, являлась аренда виртуалок на облачном сервисе Яндекс Облако, так как там большое количество отечественных образов и все запускается «в пару кликов». За кажущейся простотой скрывалась проблема, с которой ко мне пришли партнеры: «Мы создали виртуалки в облаке, а как туда теперь войти в графическом режиме, как мы это делаем в VMWare/VirtualBox?».

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

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

Дисклеймер 2: Вполне возможно, что на других облачных сервисах (например, у VK/MailRu Cloud) все работает чуть лучше и удобнее, но у меня нет ресурсов проверять еще и там.

Раздел 1 – Создаем и подключаемся к виртуальной машине

Глава 1 – Создание виртуальной машины

По началу в Яндекс.Облаке начинается все довольно красиво. Заходим в раздел «Виртуальные машины» (Compute Cloud), где есть очень красивая кнопка «Создать ВМ»

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

Неполный список дистрибутивов, доступных в Яндекс.Облаке

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

Разворачивая виртуальную машину в Яндекс.Облаке этого же пользователя ждет микроинфаркт, потому что возможности указать пароль своему пользователю просто нет. Зато есть вот такая настройка:

Господи, что такое SSH-ключ? Я никогда им не пользовался! Как быть? Куда звонить?

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

Читайте также:  Линукс операционная система для слабых компьютеров

Глава 2 – Формирование SSH-ключа

А ларчик открывается просто, и нужные инструменты есть даже под Windows (была базовой ОС в нашем случае)

Сформировать ключ можно в командной строке (cmd) с использованием следующей команды с параметрами:

ssh-keygen -t rsa -b 2048

При выполнении команды будет предложено ввести имя файла для сохранения ключа. Если этого не сделать, ключ будет сохранен в файл id_rsa. Для повышения безопасности рекомендуется для каждого подключения (сервера) создавать отдельный ключ. Для примера можно использовать имя файла: habr, а для сохранения в «стандартную» папку .ssh необходимо указать ее в начале пути:

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

Если вдруг при создании SSH-ключа вы получите ошибку, которая говорит о том, что папки .ssh нет — просто создайте ее командой mkdir, ниже на картинке продемонстрирован пример:

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

ssh-rsa AAAAB3Nza … 66piyI1Mhye6qTKyM++v5j drazd@SOMEPCNAME

(начинается на ssh-rsa, заканчивается на имя вашего пользователя@имя компьютера)

Собственно, на этом все сложности с подключением и заканчиваются – содержимое pub файла нужно вставить в поле «SSH-ключ» на странице создания виртуальной машины.

Важно: При вставке из блокнота часто браузер стремится вставить перенос строки в конце SSH-ключа. Обязательно удалите этот перенос, из-за него подключение может не заработать

После создания виртуальной машины (может занимать от 1 до 5 минут) можно подключаться по публичному IP-адресу, который вы можете увидеть в консоли администрирования

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

На данный момент мы можем подключиться только по SSH (удаленное подключение к терминалу \ командной строке в Linux). Для подключения по SSH с использованием RSA-ключа необходимо указать через параметр -i адрес зашифрованного файла с RSA-ключом. Пример:

ssh -i %userprofile%\.ssh\habr habr@IP-адрес

При выполнении команды в первый раз по текущему адресу потребуется подтвердить согласие использовать выбранный RSA-ключ (написать yes). После этого необходимо ввести пароль от RSA-ключа, который был указан на предыдущем шаге при его генерации:

Читайте также:  Linux setting character set

Итог подключения - у вас есть доступ к терминалу вашего виртуального рабочего места

Раздел 2 – Установка графической оболочки и подключение к ней через RDP (mstsc)

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

Но поставить графическую оболочку мало — к ней просто так по SSH не подключишься, поэтому мы будем так же настраивать возможность подключения по RDP. Почему RDP, а не, например, VNC? Потому что мы идем по кратчайшему пути с минимальным сопротивлением. Возможность подключаться к RDP — стандартная функция ОС Windows, поэтому используем именно его.

Примечание: Мы будем использовать XRDP в самой простой конфигурации. В комментарии приглашаются умные ребята, которые расскажут как делать подключение по XRDP максимально безопасным. В моем кейсе особая безопасность не требовалась (виртуалки создавались на полдня и удалялись), но другим читателям может быть полезно.

Что еще важно учесть во всех случаях – так как мы настраивали подключение к системе через RSA-ключ, то у учетной записи нет пароля (или он нам просто неизвестен). В то же время вход по RDP в нашей конфигурации возможен только по паролю. Поэтому для исправления данной ситуации необходимо войти под учетной записью супер пользователя (sudo su) и выполнить команду смены пароля своего пользователя для его установки:

passwd habr

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

Astra Linux Common Edition 2.12, Special edition 1.7 «Воронеж»

По умолчанию в Astra Linux принято использовать графическое окружение fly. Устанавливается оно командами:

sudo apt-get update

sudo apt install fly-all-main

Для запуска окружения необходимо запустить соответствующий сервис:
sudo service fly-dm start

Установка XRDP для подключения к удаленному рабочему столу по протоколу RDP (mstsc):

sudo apt-get install xrdp

sudo systemctl restart xrdp

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

sudo reboot

Далее можно подключаться через средство mstsc и начинать работать

Готовое к работе виртуальное рабочее место с Astra Linux Special Edition 1.7 «Воронеж»

РедОС 7.3.* «Муром»

В РедОС можно использовать множество разных графических окружений, но в данном случае мы воспользуемся mate. Устанавливается оно командами:

sudo dnf repoquery

sudo dnf groupinstall mate

Установка XRDP для подключения к удаленному рабочему столу по протоколу RDP (mstsc):

sudo dnf install xrdp xorgxrdp

После установки xrdp необходимо выполнить ряд настроек под учетной записью su (выполните sudo su для переключения):

echo ‘PREFERRED=»$(type -p mate-session)»‘ >> /etc/sysconfig/desktop

sed -i ‘s/param=Xorg/param=\/usr\/libexec\/Xorg/’ /etc/xrdp/sesman.ini

Выполнить редактирование файла /etc/xrdp/xrdp.ini

nano /etc/xrdp/xrdp.ini

С использованием сочетания клавиш Ctrl+W найти секцию [Xorg], раскомментируйте ее (удалить в начале символы решетки/хэштеги #).

Читайте также:  Header file location in linux

С использованием сочетания клавиш Ctrl+W найти секцию [Xvnc], закомментировать ее (поставить в начале каждой строки символы решетки/хэштеги #)

Должно получиться примерно так:

Для сохранения изменений в текстовом терминальном редакторе nano нажмите сочетание клавиш Ctrl+O, вам предложат ввести новое имя файла — оставьте прежнее, нажмите Enter. Для выхода из редактора нажмите Ctrl+X.

После произведенных настроек включить сервис:

sudo systemctl enable xrdp —now

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

sudo reboot

Далее можно подключаться через средство mstsc и начинать работать

Примечание: Иногда после первого подключения у вас может не появится панель задач (нижняя полоса снизу с кнопкой «Пуск» и списком запущенных программ). Для решения проблемы — подключитесь вновь по ssh и снова выполните перезагрузку.

Добавлено: Если перезагрузка не помогает — необходимо нажать правой кнопкой мыши по непрогрузившейся панели и выбрать пункт «Сбросить все панели» (англ: «Reset all panels»), как правило это исправляет проблему. Если при нажатии правой кнопкой мыши контекстное меню не появляется — необходимо выполнить обновление системы с использованием команды sudo dnf update и повторить попытку после перезагрузки.

Пример подключения к РедОС с незагруженной панелью задач

ALT Linux 10

По умолчанию в ALT Linux принято использовать графическое окружение KDE. Устанавливается оно командами:

sudo apt-get update

sudo apt-get install kde5 kf5-plasma-workspace kde5-network-manager-nm

Установка XRDP для подключения к удаленному рабочему столу по протоколу RDP (mstsc):

sudo apt-get install xrdp

sudo systemctl enable —now xrdp xrdp-sesman

sudo usermod -a -G tsusers habr

здесь tsusers — группа с доступом к удаленному рабочему столу, а habr — имя вашего пользователя

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

sudo reboot

Далее можно подключаться через средство mstsc и начинать работать

Готовое к работе виртуальное рабочее место с ALT Linux 10

Debian 9, 10, 11

В Debian можно использовать множество разных графических окружений, но в данном случае мы воспользуемся xfce4. Устанавливается оно командами:

sudo apt-get update

sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

Установка XRDP для подключения к удаленному рабочему столу по протоколу RDP (mstsc):

sudo apt-get install xrdp

sudo systemctl restart xrdp

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

sudo reboot

Далее можно подключаться через средство mstsc и начинать работать

Готовое к работе виртуальное рабочее место с Debian 11

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

Особо внимательные читатели данного гайда могут отметить, что здесь перечислены далеко не все доступные в Яндекс.Облаке дистрибутивы. И этот правда. Дело в том, что моим партнерам не требовались все эти дистрибутивы, а были нужны только те, которые есть в этом гайде. Тем не менее, я более чем уверен, что используя информацию отсюда – вы можете добиться тех же результатов в других дистрибутивах (а так же не только в Яндекс.Облаке).

Источник

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