ZmNx SSH
Как тебе показать?
Слева — как весь сайт, снимки в прежней теме программы. Справа — вся страница в чёрном, как сама программа с 0.2.1.
Передумаешь — кнопка «Вид» внизу слева.

Зачем ещё один клиент
Новый ноутбук, и начинается: какой там был адрес у второго сервера, порт 22 или 2222, root или не root, где лежит ключ и от какого он вообще сервера. Половина ответов — в старом ноутбуке, вторая половина — на стикере. Стикер, понятно, на мониторе.
ZmNx SSH держит всё это в одном хранилище под мастер-паролем. Поставил программу на другой компьютер, ввёл мастер-пароль — серверы, пароли, ключи и твои команды уже там. Стикер можно выбросить. Серьёзно, выбрось.
Где лежит хранилище, решаешь ты. Не у нас: нашего сервера в этой схеме нет вообще.

Чёрная тема
В программе есть чёрная тема — с версии 0.2.1 она ставится по умолчанию: чёрный терминал, холодная платина, золото только в знаке. «Прежняя» тёмно-синяя и «Светлая» — по щелчку в «Настройках». Снимки на этой странице — в прежней.
Сначала она была одной из тем. Потом оказалось, что все и так сидят в ней, — и она стала главной. Поставил программу — она уже чёрная, включать ничего не надо.
- Чёрный, а не «тёмно-серый, который все зовут чёрным». Терминал — чёрный квадрат почти без рамки, панели на полтона светлее: ровно настолько, чтобы глаз отличал одно от другого.
- Холодная платина вместо фиолетового. Акцент — сталь и платина, при наведении — еле заметный отблеск. Без неона, без мигания, без «геймерской» подсветки.
- Золото — только в знаке. «ZmNx» — шампанским золотом, «SSH» — маленькой сталью. Раз в девять секунд «SSH» тихо разгорается изнутри и гаснет. Включил в Windows «меньше анимации» — не разгорается.
- На виду — только работа. Вкладки и терминал. Серверы выезжают слева (Ctrl+Shift+S) и закрепляются булавкой, всё остальное — в меню под знаком.
- Подсветка под чёрное. Ошибки красным, предупреждения жёлтым, «active (running)» зелёным, «Out of memory» — заливкой. Строки, где команду набирал ты, — на полтона светлее фона.
- Не твоё — переключи. «Прежняя» — тёмно-синяя, как было до 0.2.1. «Светлая» — для солнечного подоконника. «Как в Windows» — тёмная Windows значит чёрная, светлая — светлая; переключилась Windows вечером — переключится и программа. Меняется сразу по щелчку: в «Настройках» или в меню под знаком.

В шапке пусто. Так задумано
Над терминалом нет ряда из двадцати кнопок — там только вкладки. Всё остальное спрятано под знаком ZmNx SSH в углу: щёлкнул — выпало.
- Работа: серверы, Local, ключи, файлы, порты, готовые команды.
- Окно: раскладки, ввод во все вкладки, мини-окно, поверх всех окон.
- Остальное: журналы сеансов, импорт из PuTTY, тема, настройки, «О программе».
У частых пунктов подписаны клавиши. Через неделю мышь понадобится, только чтобы её подвинуть.
На панели задач — стальное «SSH» и золотой курсор. С Терминалом Windows не перепутаешь даже спросонья.
Что умеет
Восемь разделов — и в каждом то, что обычно ищешь по трём разным программам. Щёлкни, чтобы прыгнуть к нужному.
01 Терминал
Вкладки, деление окна, поиск по выводу и всё, чего не хватает голому ssh.


- Вкладки и деление окна. На две или четыре части — Ctrl+Shift+D. Вкладки — Ctrl+Tab, закрыть — Ctrl+Shift+W.
- «Во все». Ctrl+Shift+B — и набранное уходит сразу во все вкладки: обновить шесть серверов одной командой. Жёлтая полоса сверху напомнит, что ты сейчас говоришь со всеми.
- Копировать и вставить — как в Windows. Ctrl+C с выделением копирует, без выделения — прерывает команду, Ctrl+V вставляет, и в русской раскладке тоже. Правая кнопка — меню, а кто привык к PuTTY, включит «как в PuTTY». Перед вставкой нескольких строк спросит:
rm -rfобычно уходит раньше, чем его дочитали. - Шрифт. Ctrl+колесо, Ctrl+= и Ctrl+- — крупнее и мельче во всех вкладках сразу, Ctrl+0 — как было. Запоминается.




- Найти в выводе. Ctrl+F — поиск по всему, что сервер успел вывести: Enter или F3 — дальше, с Shift — назад, с учётом регистра или регуляркой, «1 из 6». В mc, vim и less Ctrl+F остаётся им — у них свой экран.
- История команд по серверу. Ctrl+Shift+H — что ты набирал именно на этом сервере, без повторов. Щелчок — команда в строку без Enter, ▶ — выполнить, ★ — в готовые. Начал команду с пробела — не запомнит. Хранится только на этом компьютере, шифром.
- Журнал сеанса. «Записывать сеанс» в меню вкладки — и всё, что было на экране, ложится в журнал (на вкладке красная точка). Проигрывается в программе с цветами и поиском, «Текстом…» — обычный
.txt. Через 30 дней старое удаляется само.




- Спросили «да или нет», а ты в браузере. Сервер ждёт «Do you want to proceed?» или
[Y/n], а окно свёрнуто, — справа внизу всплывёт окошко с вариантами. Нажал цифру — ответ ушёл в нужную вкладку. Фокус у браузера не отнимает. - Мини-окно. Ctrl+Shift+M — маленький терминал в углу, всегда поверх. Пока мышь не над ним — полупрозрачный, насколько скажешь ползунком.
- Вкладка зовёт сама. Пока вкладку не видно, она может подсветиться (галочки — в меню вкладки): «ждёт ответа» (вопрос, пароль,
--More--) — янтарём, «пошёл вывод» — платиной, «готово/тишина» — зелёным. - «Команда закончилась». Запустил долгое и ушёл — придёт уведомление Windows, щелчок вернёт к вкладке. Порог — 30 секунд, меняется.
Уснул ноутбук, сменилась сеть, перезагрузился сервер — переподключится, как только сможет, и скажет, сколько связи не было. Пробросы поднимет обратно.
«42 мс» рядом с названием: обычная — серым, медленная — жёлтым, «нет ответа» — красным. Сразу видно, сервер думает или связь умирает.
Открыл четыре нужных сервера, разложил окно — Ctrl+Shift+L, «Сохранить». Завтра — то же одной кнопкой, на любом твоём компьютере.
Щелчок по открытой вкладке: дублировать, переименовать, переподключить, копировать адрес, закрыть остальные или те, что справа.
PowerShell, cmd, WSL, Git Bash — во вкладке рядом с серверами (Ctrl+Shift+T). История, журнал, «Во все» и раскладки — те же. Терминал Windows можно не открывать.
Что и каким цветом красить, что считать опасным — «Настройки → Подсветка». Сам вывод не меняется: копируется как был.
02 Защита от себя
Самые дорогие ошибки делает не хакер, а уставший администратор в пятницу вечером.


- Опасные команды.
rm -rf,mkfs,reboot,iptables -Fи прочее, после чего бывает очень тихо, — заливкой, и перед Enter спросит «точно?». По умолчанию выбрана «Отмена»: случайный второй Enter ничего не выполнит. Список свой, дописывай. - Боевой сервер. Галочка в карточке — и вкладка в красной рамке, а перед
reboot, остановкой служб иkill -9спросит всегда, даже если подсветку выключил. - «Во все» не врасплох. В вопросе видно, во сколько вкладок уйдёт команда, если включён ввод во все.
03 Серверы
Список, который помнит всё за тебя, и врач, который смотрит сервер одной кнопкой.


- Проверка сервера одной кнопкой. Щит у сервера в списке: пускает ли по паролю и root, сколько забанил fail2ban, ждёт ли перезагрузки, сколько обновлений и сколько из них — безопасности, включён ли файрвол, сколько места на диске, какие службы упали. Только читает, на сервере ничего не меняет.
- Список под рукой. Название, адрес, порт, пользователь, пароль или ключ, группа, цвет и флажок страны. Поиск, Enter — и ты на сервере.
- Через другой сервер. Напрямую не достучаться — «Через сервер» в карточке: сначала войду на тот, потом дальше, цепочкой до трёх. Как ProxyJump, только без ProxyJump в конфиге.
- Переезд из PuTTY и WinSCP. «Импорт» — и серверы из PuTTY, WinSCP,
.ssh/configили выгруженного файла приезжают списком с галочками. Папки WinSCP становятся группами, сохранённые пароли переезжают тоже.
04 Ключи
Ключи живут в хранилище, а не в папке «Загрузки» под именем key_final_2.ppk.



- Свои ключи. Новый ed25519 одной кнопкой, свой — файлом или текстом.
.ppkот PuTTY — тоже, и под паролем: PuTTYgen больше не нужен. «Положить на сервер» — один раз войду паролем и сам допишу ключ вauthorized_keys. - Замена ключа на всех серверах. Сделаю новый, допишу его на каждый сервер и войду им. Хоть один не пустил — верну всё как было. Все пустили — уберу старый ключ отовсюду. Обычно меньше минуты — против вечера с терминалом на каждом сервере.
- Проброс ключей. Как
ssh -A: ключ остаётся у тебя, сервер получает только подписи и только пока открыта вкладка. На боевом — отдельное красное подтверждение. - Ключ сервера. Первый вход — покажет отпечаток и запомнит. Сменился — красное окно и никуда не пустит, пока не подтвердишь. Подтвердил на одном компьютере — на другом не спросит.
05 Файлы
Через ту же вкладку — второй раз входить не нужно.


- Файлы на сервере. Посмотреть, скачать, загрузить, переименовать. Папка открывается одним щелчком, сверху — путь крошками, Backspace — на уровень вверх. Или просто перетащи файл в окно.
- Поправить конфиг, не открывая nano. Двойной щелчок — правишь в окне, Ctrl+S — сохранил. Права и владелец остаются как были. Кто-то поменял файл, пока ты правил, — спросит, а не затрёт молча.
- Прежние версии — у тебя, а не на сервере. Перед каждым сохранением копия ложится на твой компьютер, шифром, — а не
.bakрядом, который nginx потом радостно подхватит как ещё один конфиг. Поправил nginx или sshd — предложит проверить конфиг перед перезапуском.
06 Готовые команды
То, что набираешь в десятый раз, — один щелчок. На одном сервере или сразу на пяти.


- Щелчок — команда в открытом терминале.
{{служба}}в команде — спросит, что подставить. - ▶▶ — сразу на нескольких серверах, можно целой группой, без терминала: по четыре сервера разом, рядом ответ и код выхода каждого. «Скопировать всё» — в отчёт или в чат.
- Опасное — с вопросом. Пометил команду — перед запуском спросит «точно?» и скажет, на скольких серверах.

07 Сеть
Три флага ssh, которые все гуглят каждый раз, — тремя кнопками. Всё слушает только 127.0.0.1: соседи по Wi-Fi не подойдут.
Панель или база слушает на сервере только себя — откроется у тебя на 127.0.0.1 одной кнопкой. Можно включать сразу при входе.
Браузер или программа ходит в сеть так, будто она на сервере, — имена тоже разрешает сервер. «Адрес» копирует готовую строку для настроек.
Наоборот: сервер достучится до того, что видно с твоего компьютера. Не дал сервер порт — скажет почему, а не просто «ошибка».
08 Синхронизация — куда скажешь
Одно хранилище на все твои компьютеры. Лежит там, где решил ты.


- Только этот компьютер. Так по умолчанию: программа в сеть сама не ходит, хранилище — файл с шифром у тебя.
- Папка. Облачный диск, сетевая папка, флешка — куда достают твои компьютеры. Туда ложится один зашифрованный файл, а возит его твой облачный диск. Облако наплодило «копию (1)» — программа сольёт обе и уберёт лишнюю.
- Свой сервер. Файл в домашней папке на любом твоём сервере, по SFTP. Первый раз покажет отпечаток ключа сервера — сверь.
- Везде лежит только шифр. Без мастер-пароля это набор байт. Перед каждой записью прежняя версия ложится копией рядом — раз в час, двадцать последних.
- Сменил мастер-пароль на одном компьютере — остальные попросят новый и заберут хранилище оттуда же.
Мелочи, без которых уже никак
Меню под знаком или ⓘ в шапке. «Проверить сейчас» — один запрос к zmnx.ru по кнопке. Раз в день — только если сам включишь. Новая версия скачивается тоже по кнопке и сверяется по SHA-256.
Журнал в меню под знаком: к каким серверам подключалась (и почему не вышло), команда на группе серверов — без текста команды, ключи на сервер и замена ключа, пробросы портов, запись и удаление файлов, синхронизация, пароль в буфер и его стирание. Только в памяти: список серверов шифрован — открытым текстом на диск его не пишем. В «О программе» — ещё и список других программ ZmNx.
Булавка рядом с «свернуть» и «закрыть» — терминал не прячется за браузером.
Тема, шрифт, подсветка, раскладки и готовые команды лежат в хранилище — одинаковые на всех компьютерах.
Горячие клавиши
Шпаргалка. Распечатывать не надо — через неделю пальцы запомнят сами.
Как начать
- Скачай установщик кнопкой выше — поставится за пару секунд, без прав администратора, и появится в «Пуске». На чужом или рабочем компьютере бери вариант без установки: один exe, запустил — работаешь. Хранилище у них общее, так что можно и то и другое.
- Первый компьютер: «Создать хранилище», придумай мастер-пароль — лучше фраза из нескольких слов, от 10 символов. И выбери, где ещё держать шифр: только здесь, папка или свой сервер. Передумаешь — поменяешь в настройках.
- Любой следующий: «У меня уже есть — подключить», укажи ту же папку или тот же сервер, потом мастер-пароль — и всё на месте.
- «Пусть Windows помнит» — и дальше программа открывается одной кнопкой, пока ты на своём компьютере под своей учёткой.
- Сидел в PuTTY или WinSCP — начни с «Импорта» в меню под знаком: вбивать серверы руками заново незачем.

Безопасность
- Хранилище шифруется на твоём компьютере (AES-256-GCM, ключ — из мастер-пароля через scrypt). В папке или на сервере лежит только шифр и проверка «пароль тот», из которой пароль не достать.
- Подбирать мастер-пароль по украденному файлу — долго и дорого: на каждую попытку тот же scrypt. Поэтому и нужна фраза, а не «qwerty123».
- Пароли и закрытые ключи не показываются в окне просто так — только по кнопке «Показать» в карточке сервера. «Копировать» кладёт пароль в буфер ненадолго: через 30 секунд сотрёт.
- Заблокировал Windows (Win+L), компьютер уснул или ты давно ничего не трогал — хранилище запирается само. Терминалы при этом живут.
- История команд, журналы сеансов и копии файлов, которые ты правил в окне, лежат на компьютере зашифрованными тем же ключом, что и хранилище: в конфигах и выводе тоже бывают пароли. В синхронизацию они не уходят.
- Пробросы и SOCKS-прокси слушают только
127.0.0.1. Проброс ключей по умолчанию выключен у каждого сервера, а на боевом требует отдельного подтверждения. - Пока идёт замена ключа, программа не запирается — иначе серверы остались бы с наполовину сделанным. Запрётся сразу, как закончит.
- Внутри — SSH из golang.org/x/crypto и терминал xterm.js. Обе вещи открытые, контрольная сумма exe — выше, у кнопки.



