- Инструкция: устанавливаем Astra Linux с графической оболочкой в облаке Яндекс
- Задачи
- Первоначальные требования
- Проблемы
- Почему Astra Linux?
- Примечания
- План
- Инструкция
- Регистрируемся в облаке Яндекс
- Создаем виртуальную машину
- Подключаемся к виртуальной машине по SSH
- Обновляем систему до последней версии
- Опционально: Устанавливаем midnight commander
- Устанавливаем графическую оболочку Fly
- Настраиваем подключение по RDP
- Подключаемся к виртуальной машине
- Устанавливаем полезные программы
- Настраиваем меню Пуск и панель быстрого запуска
- ВАЖНО! Выключение виртуальной машины
- Выводы
- Основные источники
- Как создать cloud-init шаблон ОС Astra Linux в Proxmox
- План работы
- Качаем cloud образ Astra Linux 1.7
- Создаем VM в Proxmox используя скачанный образ
- Конвертируем собранную VM в шаблон (template)
- Клонируем из шаблона полноценную VM
- Инициализируем VM через cloud-init
- Расширяем диск
- Настраиваем cloud-init
- Запускаем и проверяем VM
Инструкция: устанавливаем Astra Linux с графической оболочкой в облаке Яндекс
Данная статья является пошаговой инструкцией. Описания концепций linux тут нет.
Задачи
- Оценить работу в Astra Linux для Windows-пользователя в «домашних условиях» без установки на компьютер.
- Использовать графическую оболочку для работы и настройки — не только «ядреную консоль»
Первоначальные требования
- Имеется компьютер с Windows и подключением к интернет
- Есть некоторые знания в IT в целом и Windows в частности
- Желательны минимальные знания в Linux
Проблемы
- Готовые образы Linux в облаках предназначены для серверных задач и как правило не включают графическую оболочку по-умолчанию
- Для пользователя Windows есть непривычные нюансы при настройке и подключении к виртуальной машине
Почему Astra Linux?
- Это отечественная ОС — активно развивается с 2008 года и широко используется в государственных учреждениях в т.ч. на предприятиях ВПК
- Устойчива к санкциям: Основана на полностью открытой Debian Linux
- Обладает развитой документацией и поддержкой оборудования
Примечания
- На сайте Astra Linux есть образы для установки. а в Yandex cloud можно загрузить любой образ. Но с этим способом я пока не разбирался.
- Также в документации Astra Linux описан родной способ удаленного подключения через X-Server. Но способ через RDP проще и не требует настройки Windows.
План
- Регистрируемся в облаке Яндекс
- Создаем виртуальную машину в облаке Яндекс используя готовый образ Astra Linux
- Подключаемся к консоли новой виртуальной машины по ssh
- Обновляем систему до последней версии
- Опционально: Устанавливаем midnight commander
- Устанавливаем графическую оболочку Fly
- Настраиваем подключение по RDP
- Подключаемся к виртуальной машине
- Устанавливаем полезные программы
- Настраиваем меню Пуск и панель быстрого запуска
- ВАЖНО! Выключение виртуальной машины
Инструкция
Регистрируемся в облаке Яндекс
Процесс регистрации стандартная. Также будет необходимо внести платежные данные. Предоставляется пробный период и стартовый баланс.
Создаем виртуальную машину
Нажимаем кнопку справа создать ресурс -> Виртуальная машина
В открывшемся окне указываем имя машины
В разделе «Выбор образа/загрузочного диска» переходим во вкладку «Cloud Marketplace», находим и выбираем «Astra Linux CE»
Далее заполняем остальные настройки. Про настройку доступа я расскажу отдельно.
- Тип диска указал SSD — разница по стоимости с HDD не большая
- Размер диска 8 GB достаточно для начала — размер можно увеличить позже при необходимости
- Размер оперативной памяти 2 GB также вполне достаточен для задач описанных в данной инструкции
- Долю доступности уменьшил до 20%
- Включил опцию «Прерываемая»
- Публичный адрес — автоматически. Нужно включить, иначе к машине нельзя будет подключиться
Доступ — создание пользователя и ключей ssh
в командной строке Windows выполняем команду:
Далее указываем имя для файлов ключей (я указал user1) и задаем пароль к закрытому ключу. Обратите внимание — это не пароль пользователя. Для подключения по SSH пароль пользователя не требуется
В результате работы программы в текущем каталоге будут созданы два файла с публичным и закрытым ключом соответственно: user1.pub и user1
Копируем содержимое файла user1.pub и вставляем в поле «SSH-ключ»
Подключаемся к виртуальной машине по SSH
Находим публичный IP-адрес находим в консоли облака в разделе «виртуальные машины»
Обратите внимание что в текущих настройках при каждом включении машины адрес будет меняться
Указываем адрес в команде подключения ssh
в параметре -i указывается имя закрытого ключа — в моем случае user1.
При первом подключении будет запрос на подключение к машине. Соглашаемся
The authenticity of host ‘. ‘ can’t be established.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Далее вводим пароль от закрытого ключа
Если все прошло по плану, то приглашение командной строки изменится.
в моем случае оно выглядело так (где test3 название виртуальной машины):
Обновляем систему до последней версии
Обновляем данные репозиториев с пакетами
Обновляем установленные пакеты до последних версий
Опционально: Устанавливаем midnight commander
Когда имеется некоторый визуальный интерфейс, то как-то спокойнее 🙂
Также можно уже поисследовать структуру каталогов и файлов настроек
Запускаем команду установки
Устанавливаем графическую оболочку Fly
в процессе установки появляется такое окно. Выбираем
Весь процесс занимает минут 5-10
Нажать Enter еще раз — появится сообщение
client_loop: send disconnect: Connection reset
переподключаемся как описано выше
Настраиваем подключение по RDP
Устанавливаем пароль для пользователя
Для подключения по RDP потребуется пароль пользователя.
Задаем его для нашего пользователя с помощью команды
Устанавливаем пакет xrdp
Подключаемся к виртуальной машине
Запускаем удаленное подключение Windows — mstsc.exe
В адресе указываем актуальный публичный IP машины
Если все прошло по плану то должно появиться такое окно
Указываем имя пользователя и пароль который мы создали выше
Если вы увидели такое окно — убедитесь что правильно указали имя пользователя и пароль. Конечно причины могут быть разными — но в моем случае это всегда были ошибки ввода
Также при подключении возможен такой вопрос. Нажимаем Да
И наконец-то появляется рабочий стол. Тут я запустил сведения о системе
Устанавливаем полезные программы
Для того чтобы устанавливать программы через графический интерфейс устанавливаем графический менеджер пакетов synaptic
Для установки уже можно воспользоваться графическим терминалом Пуск -> Системные -> Терминал Fly и далее выполнить команду
Для запуска synaptic в терминале выполнить
Для проверки процесса установки рекомендую установить полезный просмотрщик системных журналов KSystemlog
Для этого через поиск находим ksystemlog, выбираем для установки и нажимаем кнопку «Применить»
Запуск KSystemlog через терминал
Настраиваем меню Пуск и панель быстрого запуска
Как можно заметить установка программ не проходит гладко — synaptic не прописался в меню. KSystemlog прописался — но при запуске ему на хватает привилегий. Но не беда — меню пуск и панель задач можно легко донастроить
Для настройки кнопок на панели быстрого запуска нажимаем на имеющейся кнопке правую кнопку мыши -> Редактировать.
Откроется такое окно — настраиваем по аналогии с имеющимися кнопками. Ненужные удаляем.
Для настройки в меню пуск нажмите правую кнопку мыши на кнопке пуск -> Редактировать. Программа для редактирования аналогичная
Здесь я добавил кнопку выключить (почему это полезно сделать описано в следующем разделе)
ВАЖНО! Выключение виртуальной машины
Выключайте машину сразу когда закончили работать — это важно делать по двум причинам:
- Оплата в облаке почасовая
- Машина видна в интернете
- Открыто подключение по RDP с паролем. По сравнению с подключением по SSH с сертификатом данный способ гораздо менее защищен.
При нажатии Пуск->Завершение работы
Открывается такое симпатичное окно завершения работы
Но к сожалению при нажатии на кнопку Выключение происходит только отключение сессии — сама машина при этом продолжает работать 🙁
Поэтому выключаем через терминал
Также можно выключить через консоль яндекс облака. Не знаю насколько данный способ корректен. Так что рекомендую способ через команду shutdown. Настройка кнопки выключения описана выше
Выводы
Настройка системы и подключения потребует некоторых усилий — возможно это связано с тем, что Astra Linux нацелена в первую очередь на корпоративную среду
Основные источники
- Документация Яндекс облака: Подключиться к виртуальной машине Linux по SSH
- Форум Astra Linux: Как установить графическую оболочку из командной строки? ALCE 2.12.
- Документация Astra Linux: Взаимодействие удаленных графических интерфейсов Astra Linux и Windows (в статье также описана настройка подключения через X-Server)
Как создать cloud-init шаблон ОС Astra Linux в Proxmox
Вы когда-нибудь задумывались над тем, как вы создаете виртуальные машины?
Классический и самый банальный способ создания виртуальной машины (VM):
- Создать VM в гипервизоре
- Сконфигурировать параметры VM
- Примонтировать ISO-образ ОС, которую нужно установить на VM
- Запустить VM и установить ОС с ISO-образа
- Для упрощения будущей жизни, можно создать из данной VM шаблон (template)
Как правило, это долгий и скучный процесс, богатый ручной работой. Конечно, можно использовать Packer, но время установки это сократит лишь чуть-чуть.
При таком подходе, создание кластера из нескольких одинаковых VM может затянуться на долгое время, только из-за установки хостовой ОС.
Сейчас нас окружает мир облачных технологий, когда вы покупаете VM у одного из клауд-провайдеров, где все происходит быстро:
- Ввели имя пользователя, которого необходимо создать при инициализации VM
- Пароль или публичный ключ от создаваемого пользователя
- Нажали на кнопку «Создать»
- Вуаля! VM готова к работе! Без какой-либо установки и ручной конфигурации пользователя!
Вот для этого и были придуманы cloud-init образы. Сloud-init это программа для инициализации виртуальных машин, обычно применяющаяся в облачных платформах. Но использовать cloud-init можно и локально, например в Proxmox, который успешно поддерживает данную технологию.
Все что нам надо — cloud-init образ нужной ОС. Данная статья применима для любого cloud-init образа. Я покажу, как это делать на примере Astra Linux 1.7
План работы
- Качаем cloud образ Astra Linux 1.7 (можно создать самому, с использованием cloud-init, но это тема другой статьи)
- Создаем VM в Proxmox используя скачанный образ
- Конвертируем собранную VM в шаблон (template)
- Клонируем из шаблона полноценную VM
- Инициализируем VM через cloud-init
Качаем cloud образ Astra Linux 1.7
Интересующие нас образы я брал отсюда.
Заходим по ssh на наш Proxmox и качаем нужный нам образ, в моем случае — alse-vanilla-1.7.3-cloud-max-mg8.2.1.qcow2
wget alse-vanilla-1.7.3-cloud-max-mg8.2.1.qcow2
Создаем VM в Proxmox используя скачанный образ
qm create 700 --name "alse-vanilla-1-7-3-cloudinit-max-template" --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0 qm importdisk 700 alse-vanilla-1.7.3-cloud-max-mg8.2.1.qcow2 local-lvm qm set 700 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-700-disk-0 qm set 700 --boot c --bootdisk scsi0 qm set 700 --ide2 local-lvm:cloudinit qm set 700 --serial0 socket --vga serial0 qm set 700 --agent enabled=1
Знакомых с синтаксисом управления Proxmox данные строчки удивить не должны.
Для начинающих поясню. В примере создается виртуальная машина с VMID=700 (можно указать любой, это просто идентификатор вашей VM), 2Gb RAM, 2 ядрами CPU, соответствующим сетевым интерфейсом.
Затем мы импортируем скачанный нами cloud образ Астры в локальное хранилище Proxmox и подключаем как диск к созданной VM. После этого подключаем cloud-init хранилище, для последующей инициализации.
Вы можете использовать любые нужные вам настройки или настраивать все в GUI. Все что надо — подключить диск со скачанным образом и cloud-init хранилище.
Конвертируем собранную VM в шаблон (template)
После всех подготовительных мероприятий создаем шаблон нашей ОС.
Клонируем из шаблона полноценную VM
Шаблоны нужны нам для клонирования VM, поэтому нажимаем ПКМ на созданном темплейте и выставляем мод «Full Clone».
Назвал я свою VM astra-test , вы можете как угодно обозвать.
Нажимаем «Clone» и дожидаемся окончания клонирования.
Инициализируем VM через cloud-init
После завершения клонирования VM, можно поправить настройки «железа» и увеличить размер диска.
Расширяем диск
Для этого в разделе Hardware нажимаем на Hard Disk -> Disk Action -> Resize.
Указываем нужный вам размер диска и нажимаем «Resize disk». Самое главное, что система сама займет и разметит нужное пространство при загрузке.
Теперь самое главное — переходим в раздел Cloud-init
Настраиваем cloud-init
В соответствующих полях задаем нужные нам параметры, которые мы хотим создать в системе во время запуска:
- логин пользователя
- пароль пользователя
- настройки DNS
- открытый SSH ключ пользователя
- настройка сети (можно оставить DHCP, но я укажу IP-вручную)
Далее жмем «Regenerate Image».
Подготовительные мероприятия завершены, можно запускать VM для проверки!
Запускаем и проверяем VM
После запуска VM astra-test в статистике мы видим 2 IP-адреса: один получен от моего DHCP-сервера, второй мы задали сами.
Такое бывает, можно отключить DHCP уже в самой ОС.
Пробуем подключиться по SSH к нашей VM, используя адрес и креды, которые мы указывали при настройке cloud-init в Proxmox
Готово, даже hostname настроился сам, по имени виртуальной машины в Proxmox. И да, если переименовать VM, hostname изменится за вас сам.
Теперь можно натравливать свой Terraform с Ansible на данный шаблон и создавать кластеры из большого количества виртуальных машин за считанные минуты!
Надеюсь, что данная статья будет кому-то полезна, для упрощения и экономии времени на создание стендов, кластеров и т.д.