Comments 48
А был же вроде стандартный Windows Terminal с вкладками и всем прочим...
Да, Вы правы. Windows Terminal умеет вкладки делать. Но там нет определения потенциально опасных команд, объяснения ошибок. Мне как новичку в этом, это было бы очень нужно.
Как вы определяете опасную команду? Например
echo Permission deniedБудет считаться тем же что выдаст rm -rf /root ? Отличаете ли вы stdout от stderr?
p.s. считаю такой помощник вредным и фактически бесполезным
Да, вы правы. Я проверил. Exit code детектор проверяет честно, но текст ошибки сверяется просто с тем, что напечаталось в терминале — без разделения stdout/stderr (в интерактивной SSH-сессии его толком и не получить). Так что echo Permission denied сам по себе безобиден (exit code 0, детектор не сработает), но если специально подставить ненулевой код рядом — да, текст обманет паттерн и покажется то же объяснение, что для настоящей ошибки.
Занесу себе в список на исправление.
Как клиент для обучения - почему бы и нет, новичкам может будет удобно интерпретировать ошибки и получать runbook, плюс справка под рукой. Но вот попытка защищать от опасных команд выглядит спорно, мне кажется. С root можно сломать все запустив чужой бинарник, собственный скрипт или просто cat - так отучите думать о том, что вообще вводится в терминал и к чему это приведет.
На самом деле я сделал настройку, где можно по очереди все отключить.
С root можно сломать все запустив чужой бинарник, собственный скрипт или просто cat - так отучите думать о том, что вообще вводится в терминал и к чему это приведет.
Вот этого как новичок я не знал. Над этим еще подумаю, т.к. есть в планах дальше его развивать понемногу.
Согласен про ложную защиту: перечислить все способы убить систему невозможно – кроме rm есть find с удалением, dd, перенаправление в /dev/sda, банальный mv по корню. Единственное, что реально помогает и при этом не отучает думать, – пауза-подтверждение перед необратимой операцией, как ключ -i у rm: не запрет, а секунда на "а точно?".
А так же есть "родной" PuTTY Session manager. И быстрое подключение, и древовидная структура и другие "плюшки". Не PuTTY единым...
Лично мне PuTTY показался не удобным.
Он и есть не удобный, не понимаю зачем putty, когда openssh спокойно устанавливается через компоненты windows и отлично работает в windows terminal.
Установил putty только чтобы сконвертировать ssh ключ в ppk формат, с которым far умеет работать (разработчики far, добавьте поддержку ed25519)
Хранить свои хосты на сервере какого-то вайбкодера на полрубля и ещё платить за это деньги это что-то новое, круче только секундомер по подписке из аппрстора.
Ещё и потерять свои данные если этот вайбер не оплатит сервер или уронит данные, уверен ещё и защиты никакой нет. Не удивлён откуда у нас столько утечек пд. А с таких серверов данные не утекают только потому что там клиентов полтора человека и слава богу
mRemoteNG - годами проверенный софт и бесплатный, пользуйтесь на здоровье.
Спасибо за наводку. Он не попадался мне, когда искал.
Там кстати есть проблема в mRemoteNG - имя и пароль к линукс хосту передаются в открытом виде как параметры запуска putty. То есть пароли видны в логах при определённых условиях. Решается удалением сохранённого пароля и настройкой ssh ключа. Случайно на терминальном сервере обнаружили.
Да, он хорош, но постоянно требует обновляться, хоть и бесплатно, но.. да и перегружен слишко
Под macos тоже собралось =)

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

версия putty со вкладками, на лету меняет азмер шрифта (очень удобно при показе), дерево сессий, возможность открыть ветку табами в отдельном окне, индивидуальные настройки цветовых схем для конкретной сессии (чтобы разделять визуально разные сервера), возможность параллельной печати в пределах вкладок окна или сразу нескольких окон.
уже года три пользуюсь Tabby. тоже на электроне, но SFTP уже есть ) хотя при наличии Far manager под все три платформы он особо и не нужен
я на него пошел из-за многоплатформенности, т.к. по работе использую все три мира (ну ладно, MacOS реже всего остального), и желательно, чтобы интерфейс везде был одинаковый, чтоб не думать
Да, тоже его видел) Но у него нет детектора ошибок и опасных команд.
застрахуй, не застрахуй, все рано получишь это самое.
бить пользователя по рукам, конечно, полезно, и это у вас уникальная фишка, но вряд ли она станет продающей. потому что на всякую дурозащиту найдется дурак с инициативой.
будучи в энергетике, я на такое насмотрелся. например, обновлять прошивку на свитче. промышленном свитче. без вывода из эксплуатации. получили сетевой шторм и инцидент на ПС Княжегубская, после чего Россети долго и успешно саботировали внедрение цифровых подстанций, говоря.
в любом случае, удачи вам.
Есть самый обычный ssh клиент (как и scp), под windows в том числе, который работает с самыми обычными сертификатами для логина, а если страшно - внутри можно запустить screen, чтоб интерактивную сессию не потерять и под рутом можно не работать. У винды вроде есть красивенький терминал с вкладками и нескучными обоями. Не, я понимаю, что своё написать веселее. Но не то, чтобы альтернатив не было. Их полно, как платных, так и бесплатных этих менеджеров соединений.
А как вы определите опасную команду? Не только rm rf в корне проблем принесет. Всегда можно доиграться с написанием и правкой скриптов, команд, прав, конфигов. Например можно через эхо значение не туда отправить, рекурсивно во всей файловой системе права поменять, форк бомбу запустить и много ещё каких глупостей натворить, что без контекста вроде может быть и не опасно. Или на каждый chmod будет выскакивать предупреждение?
Да, Вы правы, Страж - не sandbox и не пытается ловить все. Иначе пользователя можно было бы просто заспамить и превратить уведомления в ненужный шум. Список перехвата осознанно узкий. Это явные необратимые/деструктивные команды (rm -rf, dd на устройство, mkfs, форк-бомба и т.п.), а не любое потенциально рискованное действие. Допустим chmod -R 777 в списке есть, обычный chmod — нет. echo с редиректом в произвольный конфиг тоже не ловится, кроме записи в SSH-конфиг, чтобы не потерять доступ к серверу.
Страж я делал не как замену головы на плечах, а как распознавание и предупреждение для новичка. Которому например нужно 1 раз настроить какой-нибуль свой сервер и он это делает по инструкции в интернете. И просто делает копипаст команд. Вот тут Страж будет полезен.
Если человек не понимает последствия команды, дополнительное окно с подтверждением его не спасет
Это всё очень круто, но habr не площадка для рекламы своего мусора в духе я создал свой {вставь то что уже существует}. Почему я должен в ленте новостей видеть этот шлак.
А как же богоподобный MobaxTerm ? Ничего удобнее пока не видел.
Тоже, пока читал статью, все думал "А как же MobaXTerm?" -- а потом дочитал до места, где его называют слишком сложным для новичка.
я бы понял аргумент, что MobaXTerm не open source.
тоже им всегда пользуюсь, единственный минус для меня что нельзя в его терминал скопировать длинный текст команд
WinSSHTerm
Portable планируется?
Да, мне только нужно разобраться с местом хранения данных хостов в portable версии
Ну по аналогии с другими программами https://code.visualstudio.com/docs/setup/portable
Например в Vscode смотрел на наличие папки data в корне
И чем же вас RDM от Devolutions то не устроил?
И про screen и развлечения тоже верно сказали коллеги
Очень симпатично, под mac собирается на ура! единственное что не хватило то поддержка jump хоста.
Есть же moba xterm на все случаи в жизни
Sftp и portable и будет совсем хорошо:)
Я написал SSH‑клиент для Windows