
Комментарии 29
А был же вроде стандартный 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 единым...
Хранить свои хосты на сервере какого-то вайбкодера на полрубля и ещё платить за это деньги это что-то новое, круче только секундомер по подписке из аппрстора.
Ещё и потерять свои данные если этот вайбер не оплатит сервер или уронит данные, уверен ещё и защиты никакой нет. Не удивлён откуда у нас столько утечек пд. А с таких серверов данные не утекают только потому что там клиентов полтора человека и слава богу
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 ? Ничего удобнее пока не видел.
WinSSHTerm
Portable планируется?
Я написал SSH‑клиент для Windows