Менеджер удалённых подключений МС22 для управления инфраструктурой

Управление парком серверов от двух-трёх и более как правило подразумевает сохранение настроек сессий, чтобы не приходилось их настраивать каждый раз при подключении. Для решения этой задачи есть отдельный класс ПО - менеджеры подключений. Одно из таких решений я рассмотрю в своей статье - МС22.

Введение

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

По мере развития ИТ инфраструктур и повсеместного внедрения виртуализации, систем, к которым необходимо было подключаться, становилось всё больше, так как физические сервера дробились на маленькие виртуальные машины. В итоге, когда у меня управляемых серверов стало больше 10-15, от PuTTY пришлось отказаться и искать более продвинутые варианты.

Сейчас программ такого класса очень много, если говорить про ОС Windows. В Linux и macOS выбор поменьше. Кстати, отсутствие удобного менеджера соединений в Linux - частая боль тех, кто на него переходит из Windows, где есть из чего выбирать. Существуют как полностью бесплатные программы, так и коммерческие. У коммерческих нередко бывают бесплатные версии с какими-то ограничениями. Мне в своей работе приходится управлять десятками серверов, а сумма настроенных соединений в менеджерах подключений переваливает за сотню.

Я тестировал и пользовался практически всеми известными программными продуктами этого класса: Xshell, MobaXterm, mRemoteNG, Remote Desktop Manager и другими менее популярными. Про одну из них будет мой текущий обзор. Речь пойдёт про менеджер удалённых подключений МС22 для управления ИТ инфраструктурой.

МС22

Клиент МС22

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

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

Приложение MC22 - кроссплатформенное. Поддерживаются все современные популярные системы - Windows / macOS / Linux. Среди отечественных дистрибутивов есть заявленная вендорами поддержка в Астра, РедОС, Альт, SberLinux OS. На всех платформах работает единая версия.

Изначально MC22 был собран на базе открытого приложения Electerm. Я сразу заметил сходство. Но сейчас от него ушли далеко в сторону, как по возможностям, так и архитектуре. Не так давно вышла версия приложения 3.0, где весь бэкенд переписан с JS на Rust. Приложение стало намного отзывчивее, менее прожорливое по ресурсам, в сравнении со всем, что написано на JavaScript. Пользоваться очень комфортно. Сейчас мало миниатюрных и быстрых приложений. Менеджеров удалённых подключений это тоже касается. У меня большой опыт работы с mRemoteNG и Remote Desktop Manager. Это функциональные, но очень тормозные приложения. Последний прям образец тормознутости.

Для сравнения в момент написания этого абзаца запустил по 3 вкладки в RDM и MC22 - 2 SSH и одна RDP. Результат потребления ресурсов на картинке.

Потребление ресурсов менеджерами соединений

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

Основные возможности МС22

В плане настройки подключений к различным системам и сервисам в МС22 возможности плюс-минус такие же, как во всех подобных продуктах, где-то что-то удобнее, где-то нет. Расскажу об этом далее.

Терминальные подключения по SSH

База современной инфраструктуры - ОС на основе Linux, куда обслуживающий персонал подключается чаще всего по SSH. В MC22 настройка подобных подключений проста и интуитивна. Из основных настроек надо указать:

  • имя подключения;
  • адрес, порт;
  • учётные данные в виде логина/пароля или ключа.

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

Настройка SSH в МС22 Дополнительные настройки SSH

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

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

SFTP соединение

Тут сразу можно скачать любой файл или открыть текстовый, причём выбрав либо встроенный текстовый редактор, либо свой внешний.

Просмотр логов в менеджере Просмотр логов во внешнем редакторе VS Code

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

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

Базовая информация о ресурсах системы

В целом ничего особенного. Всё это можно посмотреть консольными командами, но сделано удобно. Особенно список процессов, который можно тут же отсортировать по столбцам. Я, к примеру, иногда забываю горячие клавиши в top и htop для сортировок.

Отмечу ещё один важный для меня момент. В MC22 работает выделение и копирование текста в mcedit. У меня это почти всегда редактор по умолчанию. Не во всех терминальных менеджерах работает выделение и копирование текста. Я открываю файл в mcedit, зажимаю shift и выделяю текст. В MC22 и, к примеру, в Xshell, он копируется в буфер, а в RDM это не работает. Я сейчас постоянно использую RDM и мне очень не хватает этого копирования. Я не знаю, как его настроить в нём.

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

Рабочее окно с несколькими открытыми сессиями можно разделить различными раскладками.

Деление окна терминала на несколько вкладок

Для нескольких открытых подключений можно массово вводить команды:

Выполнение команды во всех открытых терминалах

Результат массового выполнения команды

Удалённый рабочий стол по RDP и VNC

Помимо традиционных подключений по SSH, MC22 поддерживает подключения к рабочим столам по протоколам RDP и VNC. В плане настроек тут тоже всё стандартно:

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

Настройка подключения по RDP в МС22 RDP соединение

Разрешение удалённого экрана подстраивается под размеры окна программы. Картинка удалённого экрана немного мылит, что косвенно намекает на то, что используется не родной клиент Microsoft, а какая-то другая реализация, открытая или самописная.

Я так полагаю, это плата за кроссплатформенность. Чтобы программа одинаково работала на всех системах, стандартный клиент от Microsoft не подойдёт. Тут используется либо Apache Guacamole, который обычно встраивают для этих задач, либо что-то другое. Для задач администрирования этого достаточно. Для постоянной работы - неудобно. Имейте это ввиду.

Про VNC рассказывать особо нечего. Тут тоже всё стандартно. Скорее всего используется какая-то открытая реализация этого протокола.

Настройка VNC подключения в МС22

На момент написания статьи VNC протокол, как и RDP, помечен значком бета, то есть реализация ещё в стадии разработки и тестирования. В VNC у меня не работало автомасштабирование удалённого экрана под моё разрешение. Чтобы видеть весь экран без скролла, нужно было у себя выбрать такое же разрешение, либо больше, чем на удалённом экране, либо развернуть окно VNC подключения на весь экран.

VNC подключение Рабочий стол по VNC

Подключение к базам данных

В MC22 есть возможность напрямую подключаться к базам данных PostgreSQL, MySQL/MariaDB, SQLite, SQL Server, MongoDB и Redis и работать с ними. Честно говоря, я не знаю, насколько эта функциональность актуальна именно в менеджере соединений. Сам я иногда подключаюсь к базам удалённо, хотя чаще локально, но использую для этого специализированные средства. Это либо веб интерфейсы типа PhpMyAdmin, pgAdmin, Adminer и т.д., либо десктопные приложения. Лично я последние несколько лет для этих задач предпочитаю использовать DBeaver.

Тем не менее, подобная возможность в MC22 есть и работает. Вендор планирует её поддерживать и развивать дальше. Я проверил, подключившись к базе данных MariaDB. Всё, что я обычно делаю в PhpMyAdmin тут тоже можно выполнить - сделать SQL запрос, посмотреть таблицы с содержимым, посмотреть пользователей, поменять права и т.д.

Подключение к базе данных в MC22 Управление СУБД в MC22Для возможности удалённого подключения надо внимательно проверять настройки СУБД и пользователей. Как правило, по умолчанию такие соединения невозможны, так как служба слушает только локальный интерфейс сервера, а пользователи не имеют прав при удалённом подключении. В MC22 частично этот вопрос решается через проброс портов по SSH. Настройки этого проброса можно выполнить в отдельной вкладке подключения к базе данных:

Проброс портов по SSH

Веб подключения

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

Настройка веб подключения в MC22

Подключение к веб интерфейсу Proxmox в MC22

Я перечислил только основные протоколы для подключений, которые обычно сам использую. Не стал приводить все, чтобы не загромождать и так большую по объёму статью. MC22 также поддерживает протоколы FTP, TELNET, SERIAL, FTP, SPICE.

На последнем остановлюсь и поясню отдельно, так как нечасто встречал его в списке поддерживаемых. Этот протокол иногда используют для подключения к рабочим местам по технологии VDI. В частности по этому протоколу можно подключаться к виртуальным машинам в Proxmox VE. Это будет прямое подключение к консоли виртуальной машины, которое не требует никаких дополнительных программ и настроек, как того требует RDP или VNC. При подобном подключении по SPICE вы можете прокинуть в виртуальную машину микрофон, камеру, звук и работать с видеокартой. Данный подход иногда используют для организации высокопроизводительных рабочих мест с видеокартами в виртуальных машинах.

Инструменты и автоматизация

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

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

Быстрые команды

Сразу добавил туда список команд, которые я наиболее часто использую в консоли. Его можно сделать очень большим, структурировав тэгами. Список можно загружать и выгружать в формате json.

Импорт / Экспорт быстрых команд

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

Все остальные инструменты и автоматизации находятся в соответствующем разделе.

Инструменты администрирования в MC22

Например, вы можете быстро сгенерировать SSH ключи для удалённых подключений.

Генерация SSH ключей Содержимое SSH ключей

В консоли вы то же самое сделали бы командой:

# ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519

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

Предназначение некоторых утилит я не понял. Например, зачем в менеджере подключений генератор текста?

Генератор текста

У вас есть идеи, зачем он может быть нужен? Те же самые вопросы к тренажёру командной строки. Он точно нужен в менеджере подключений? Я прошёл из любопытства несколько заданий.

Тренажёр командной строки

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

Полный список встроенных инструментов с примерами и демонстрацией работы можно посмотреть в документации.

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

Запуск скриптов в MC22

Дамп создаётся, но как его куда-то отправить - не разобрался, как не указывать явно имя пользователя и пароль - тоже не понял. Синтаксис удалённого пути не понятен. В общем, как использовать всё это - не ясно.

Настройка МС22

Расскажу о некоторых настройках, которые я в процессе эксплуатации сделал.

Внешний вид

По умолчанию у программы 2 темы - тёмная и светлая. Тёмная мне показалась слишком контрастной. Я сделал её копию и чуть изменил чёрный и белый цвета, сделав их менее контрастными. Так мне показалось приятнее глазу.

Создание своей темы оформления в MC22В плане настройки внешнего вида всё очень гибко. Можно настроить под себя практически всё, начиная от расцветки окна программы, заканчивая шрифтами и подсветкой текста в терминале.

Для подсветки можно использовать свои правила, либо загрузить готовые наборы из репозитория разработчиков. Ниже пример подсветки синтаксиса из шаблона разработчиков под названием optimized-role-linux-admin.

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

Вот как это выглядит в терминале:

Цветной терминал

Подобные встроенные правила есть в некоторых клиентах. Например, в MobaXterm. С ними терминал выглядит удобнее, но я чисто из практических соображений всё это выключаю, чтобы видеть терминал сервера в исходном виде. Тем, кто любит подобную подсветку, рекомендую установить шаблон optimized-keywords-core. Он будет подсвечивать IP адреса, даты, ошибки, спецсимволы, протоколы и некоторые другие вещи. Это бывает удобно, особенно при просмотре логов в терминале. Но некоторые правила подсветки могут менять отображение в Midnight Commander. Имейте это ввиду, если увидите там какие-то странности с цветами.

Импорт профилей

MC22 умеет импортировать настройки соединений из других популярных менеджеров подключений. Выполняется это в разделе Настройки ⇨ Управление настройками ⇨ Импорт.

Импорт соединений в MC22

Поддерживается импорт из MobaXterm, Xshell, Putty и SecureCRT. Я в разное время пользовался и MobaXterm, и Xshell. И там, и там у меня много настроенных соединений.

Из MobaXterm забрал автоматически все соединения, но без паролей, так как я всегда шифрую мастер-паролем все подключения с сохранёнными паролями. Тут возникла типичная для MobaXterm проблема - все русские символы, если где-то использовались в названиях хостов или групп, превратились в крякозябры. С этим и ранее сталкивался при импорте из MobaXterm в другие программы.

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

У меня большой опыт по использованию и миграции между различными менеджерами соединений. Могу сразу сказать, что переезд в другой менеджер - это отличный повод провести аудит соединений и навести в них порядок. Автоматически всё импортировать в другой клиент практически никогда не получается. Везде свои нюансы и особенности хранения. Идеально перенести всё равно не получится. Я много раз всё это проделывал и каждый раз переносил в итоге вручную то, что реально нужно. Из-за того, что у меня много настроенных соединений и вручную их переносить хлопотно, я постоянно пользуюсь несколькими. Где-то у меня настройки, которыми постоянно пользуюсь, а где-то хранятся старые соединения, которые редко используются, поэтому их было лень переносить.

Шифрование данных мастер паролем

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

В MC22 шифрование включаем в разделе Настройки ⇨ Общие ⇨ Пароль при запуске приложения. После этого при старте программы нужно будет его ввести:

Мастер-пароль в MC22

Локальное хранение

Все свои настройки и соединения MC22 хранит локально в базе данных. Для Windows версии путь файла с базой будет такой:

C:\Users\User\AppData\Roaming\ru.mc22.desktop\mc22\users\default_user\mc22.db.

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

Настройка прокси

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

Настройка прокси в MC22

Socks прокси для SSH соединенияЛоги сессий

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

C:\Users\User\AppData\Roaming\ru.mc22.desktop\mc22\session_logs

При желании вы можете перенести её в другое место.

Запись логов SSH сессий

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

Ручное управление записью логов

Выглядит лог примерно так:

Место хранения записанных логов сессий SSH

Полная запись терминала - вводимые команды и их вывод.

Лицензирование и стоимость

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

Стоимость MC22

Бесплатная. Ограничения:

  • 5 сохранённых закладок
  • 2 параллельные сессии
  • 30 минут сессии по RDP и VNC

Личная. Бессрочная лицензия для физических лиц. На момент написания статьи стоимость - 8500 р. Ограничение одно - лицензия валидируется онлайн, то есть нужен доступ в интернет.

Базовая. Продаётся на год для юридических лиц. Стоимость - от 7 000 руб. Возможна работа в закрытом контуре без выхода в интернет. Для RDP и VNC ограничения в 30 минут.

Расширенная. Продаётся на год для юридических лиц. Стоимость - от 19 000 руб. Включает в себя всё из базовой лицензии. Нет ограничений на RDP и VNC. Возможен заказ на добавление новой функциональности.

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

Заключение

При подготовки статьи изучил MC22 вдоль и поперёк, потому что примерял для себя. Я много лет администрирую десятки серверов и для меня это практически основной рабочий инструмент.

Пробовал в разное время все известные клиенты на рынке - Kitty, mRemoteNG, Xshell, MobaXterm, Remote Desktop Manager и некоторые другие. Последний сейчас основной менеджер, где хранятся настройки рабочих серверов. На подхвате у меня Xshell, откуда поленился перенести все подключения. До этого использовал MobaXterm, но переехал с него из-за некоторых досадных багов с RDP. Так и живу теперь с несколькими менеджерами одновременно. У каждого есть какие-то плюсы и минусы, поэтому не получается выбрать что-то одно.

Перечислю минусы, которые заметил в MC22:

  • Продукт выглядит сыровато. Насобирал некоторое количество багов, которые оформил в заметки и передал вендору. Писать о них не стал, потому что по факту использовал свежий релиз после смены языка бэкенда, который толком ещё не отладили. Думаю, что их оперативно поправят, там ничего критического (на момент публикации статьи почти все баги поправили).
  • RDP немного мылит, к старым системам подключиться не получилось. В частности, к Windows 7. Мне это не особо критично, но для кого-то может иметь значение.
  • Раздел с инструментами лично мне показался лишним. Он будет забирать ресурсы на поддержку и актуализацию, но большого смысла в нём не вижу. Всё это есть отдельно. Возможно это будет полезно тем, кто работает в закрытых контурах без доступа к интернету. Я написал только за себя.

Теперь что понравилось:

  • Простой и лаконичный интерфейс. Это всё, конечно, вкусовщина, но лично мне понравилось, как программа выглядит. Плюс, возможность донастроить под себя. От стандартной темы у меня немного глаза устали, а когда подправил, нормально стало.
  • Лёгкость в плане потребления ресурсов. Отзывчивый и шустрый интерфейс. В сравнении с RDM или mRemoteNG просто небо и земля. Очень устал от тяжёлых приложений. После запуска RDM со всеми его подключениями можно сходить чайку заварить. Утрирую конечно, но секунд 7-10 он запускается. И в процессе работы отъедает до 1.5ГБ оперативы. У меня её, конечно, много, но эта тяжесть влияет на отзывчивость интерфейса. С MC22 таких проблем не заметил. Открывается, закрывается почти мгновенно.
  • Понравились некоторые возможности: SFTP подключения, быстрые команды, отдельная боковая панель с основной информацией по системе, массовый ввод команд в открытые вкладки.
  • Кроссплаформенность. Не проверял на практике, как программа работает в Linux, но по идее должна так же, как на винде. Последнее время начал подготовку к переезду на систему на базе ОС Linux. Но полностью отказать от Windows я не смогу по объективным причинам. Если с помощью MC22 получится синхронизировать базу соединений между Windows и Linux, то для меня это будет решающей функциональностью.
  • Бессрочная лицензия для физиков. О цене не берусь судить однозначно. По моим представлениям программа стоит нормально.
  • Российская разработка, работа офлайн, всё хранение локально. Для примера скажу, что бесплатная версия Xshell для персонального использования периодически блокирует запуск и требует обновить себя. У неё заложена таймбомба, которая в какой-то момент делает запуск невозможным без обновления.

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

Реклама, ООО «АБП2Б», ИНН 7810782630, erid: 2SDnjbog1DV

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Много интересного в канале автора в Telegram →
This is default text for notification bar