
Со временем у меня появилось несколько серверов: VPS, домашний NAS и ещё пара машин под разные задачи. Для подключения я использовал PuTTY. Он работает, но управлять несколькими серверами в нём неудобно. Сессии хранятся в реестре Windows, список хостов плоский, вкладок нет. Чтобы открыть два сервера, нужны два отдельных окна.
Termius устроен иначе. Там есть нормальный список хостов, вкладки и синхронизация. Но для работы нужен аккаунт, данные хранятся в облаке, а часть функций доступна только по подписке.
Мне не хотелось регистрироваться и загружать список своих серверов в облако ради обычного SSH‑подключения. Поэтому я начал делать собственный клиент - LucidSSH. Это не попытка собрать ещё один комбайн для системных администраторов. Мне нужен был простой локальный SSH‑клиент с несколькими дополнительными функциями: защитой от опасных команд и понятными объяснениями ошибок.
Я не занимаюсь администрированием каждый день. Поэтому делал программу прежде всего для таких же пользователей, как я: тех, кто впервые настраивает VPS, NAS, Raspberry Pi или небольшой домашний сервер. Разрабатываю LucidSSH в свободное от основной работы время.

Почему не PuTTY и не Termius
PuTTY надёжный и привычный. Но он ничего не объясняет и почти не помогает избежать ошибок. Termius, MobaXterm и SecureCRT дают гораздо больше возможностей: SFTP, туннели, макросы, синхронизацию профилей и другие инструменты. Это удобно, когда понимаешь, что тебе нужно и как всё работает. Новичку такой набор может только мешать. Особенно когда сервер уже перестал отвечать и нужно быстро понять, что произошло. LucidSSH находится где‑то между этими вариантами. В нём достаточно функций для обычной работы с сервером, но нет перегруженного интерфейса. Основу приложения составляют три функции.
Три основные функции
Страж опасных команд
Страж проверяет команду до того, как она уйдёт на сервер. Он реагирует на rm -rf, dd и другие команды, которые могут удалить данные или повредить систему. Для подтверждения недостаточно нажать кнопку. Нужно вручную ввести имя файла, каталога или устройства, с которым будет работать команда. Это медленнее обычного диалога с кнопкой «Продолжить». Но стандартные предупреждения быстро перестают замечать. Их подтверждают автоматически, не читая текст. Страж можно отключить полностью или только для конкретного хоста.

Офлайн‑детектор ошибок
Детектор работает локально. Без интернета и без LLM. Внутри приложения есть база распространённых ошибок SSH и shell с объяснениями на русском языке. Например:
Permission denied;Host key verification failed;Connection refused;ошибки, связанные с
nologin.
Объяснение появляется прямо под терминалом. Не нужно копировать ошибку и искать её значение в интернете.

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

Что уже есть
Все данные хранятся локально. Для использования LucidSSH не нужен аккаунт. В приложении нет облачной синхронизации и телеметрии. Пароли сохраняются через Windows Credential Manager. Приватные ключи не копируются во внутреннее хранилище приложения. Первая версия LucidSSH уже доступна.
В v1.0 нет:
SFTP;
объяснения ошибок через LLM;
Mosh;
Telnet;
RDP;
VNC.
Я сознательно оставил эти функции за пределами первой версии. Позже станет понятно, какие из них действительно нужны пользователям.
Цифровая подпись
Первая версия вышла без цифровой подписи. Поэтому при запуске Windows показывает предупреждение «Неизвестный издатель». Сертификат стоит денег, и на текущем этапе я не вижу смысла его покупать. Предупреждение не спрятано: я прямо указал это на странице загрузки и внутри приложения.
Репозиторий и лицензия
Репозиторий открыт: LucidSSH.
С лицензией я пока не определился. Этот вопрос ещё изучаю. Буду рад аргументированным советам от тех, кто уже выпускал собственные приложения с открытым исходным кодом.
Зачем я об этом пишу
LucidSSH начинался как программа для моих задач. Уже сейчас он закрывает большую часть того, для чего я его создавал. Но, скорее всего, я не единственный, кому нужен простой SSH‑клиент без обязательного аккаунта, облака и лишних функций. Поэтому я решил открыть проект и рассказать о нём здесь. Особенно интересны критика архитектуры, найденные проблемы и мнение людей, которые регулярно работают с SSH. Issues в репозитории тоже открыты.
Комментарии (18)

Xelld
29.07.2026 10:40Как клиент для обучения - почему бы и нет, новичкам может будет удобно интерпретировать ошибки и получать runbook, плюс справка под рукой. Но вот попытка защищать от опасных команд выглядит спорно, мне кажется. С root можно сломать все запустив чужой бинарник, собственный скрипт или просто cat - так отучите думать о том, что вообще вводится в терминал и к чему это приведет.

Xykyma Автор
29.07.2026 10:40На самом деле я сделал настройку, где можно по очереди все отключить.
С root можно сломать все запустив чужой бинарник, собственный скрипт или просто cat - так отучите думать о том, что вообще вводится в терминал и к чему это приведет.
Вот этого как новичок я не знал. Над этим еще подумаю, т.к. есть в планах дальше его развивать понемногу.

pushd0w
29.07.2026 10:40Хранить свои хосты на сервере какого-то вайбкодера на полрубля и ещё платить за это деньги это что-то новое, круче только секундомер по подписке из аппрстора.
Ещё и потерять свои данные если этот вайбер не оплатит сервер или уронит данные, уверен ещё и защиты никакой нет. Не удивлён откуда у нас столько утечек пд. А с таких серверов данные не утекают только потому что там клиентов полтора человека и слава богу

Xykyma Автор
29.07.2026 10:40А где я написал, что хосты хранятся на сервере и что я вообще беру деньги за программу?

vitalydeynega
29.07.2026 10:40Под macos тоже собралось =)

критика всегда будет! Но оно работает! Автору спасибо! в dev не запускается =) но билдится 
Xykyma Автор
29.07.2026 10:40Я ничего не имею против критики) Для этого и выложил. А приложение далал по фану.
А где у вас на MacOS хранятся ключи? Т.к. я прописыал путь только для Windows.

igrblkv
29.07.2026 10:40Сертификат стоит денег
Есть бесплатные варианты, если вся сборка идёт прозрачно через github.
Например: https://habr.com/ru/articles/850052/

adrozhzhov
29.07.2026 10:40Putty Noodle

версия putty со вкладками, на лету меняет азмер шрифта (очень удобно при показе), дерево сессий, возможность открыть ветку табами в отдельном окне, индивидуальные настройки цветовых схем для конкретной сессии (чтобы разделять визуально разные сервера), возможность параллельной печати в пределах вкладок окна или сразу нескольких окон.
hssergey
А был же вроде стандартный Windows Terminal с вкладками и всем прочим...
Xykyma Автор
Да, Вы правы. Windows Terminal умеет вкладки делать. Но там нет определения потенциально опасных команд, объяснения ошибок. Мне как новичку в этом, это было бы очень нужно.
rPman
Как вы определяете опасную команду? Например
Будет считаться тем же что выдаст rm -rf /root ? Отличаете ли вы stdout от stderr?
p.s. считаю такой помощник вредным и фактически бесполезным
Xykyma Автор
Да, вы правы. Я проверил. Exit code детектор проверяет честно, но текст ошибки сверяется просто с тем, что напечаталось в терминале — без разделения stdout/stderr (в интерактивной SSH-сессии его толком и не получить). Так что
echo Permission deniedсам по себе безобиден (exit code 0, детектор не сработает), но если специально подставить ненулевой код рядом — да, текст обманет паттерн и покажется то же объяснение, что для настоящей ошибки.Занесу себе в список на исправление.