Привет, недавно я рассказывал о нашем аналоге Ngrok, но сегодня я хочу остановиться поподробнее на кейсах применения такой фичи как Tuna SSH, которой нет даже в Ngrok. Запуск ssh сервера с туннелем наружуЗапущенный таким образом туннель позволяет предоставить удаленный доступ по SSH без необходимости запускать SSH сервер, создания пользователя, настройки прав, выдачи sudo и так далее.Если бы мы говорили про Windows, то там есть teamviewer и anydesk, но в unix мире, особенно в linux, проще получить консоль с bash.Помощь коллегам, онбординг джуновСегодня работая в распределённых командах, новичку порой очень сложно понять как запустить проект локально, да у вас может быть всё оформлено через docker-compose и написано хорошее README в корне проекта, но новички на то и новички, опыта нехватает и человек не может понять, как ему всё это запустить начать разрабатывать по ответам из stackoverflow и chatgpt 🙂.И тут вы как хороший тимлид приходите на помощь вашему новому коллеге, просите установить на его мак клиент tunabrew install yuccastream/tap/tunaзапустить клиента и сказать вам реквизиты для подключенияtuna ssh --token=<ваш_токен>И вот уже через несколько секунд вы можете подключиться к его компьютеру, создать .env файл и прописать туда недостающие значения, помочь в устранении проблем с Dоcker/NVM/Composer и так далее ...Тех. поддержка клиентовВторой кейс, это доступ к серверам клиентов в локальной сети. Предположим вы продаёте софт, он под Linux, а клиенты запускают его у себя в офисе в локальной сети. Иногда что-то не так, и вам для отладки нужно получить доступ к этому серверу. Хорошо если на месте есть сис. админ который может настроить сети и прокинуть доступ, но это и дольше и требует приложения услий, а потом ещё надо не забыть всё обратно закрыть.И вот вы просите админа запустить на его Ubuntu Server вот такую команду:bash <(curl -sSL https://get.tuna.am) && tuna ssh --token=<ваш_токен>также как в примере с джуном просите отправить реквизиты и подключаетесь:Зашли вы на сервер, увидели, что на диске нет места, удалали логи, подняли postgres и ваше приложение, проверили, что ваш сервис работает и отписались о решении проблемы. Клиент доволен, на всё потрачено 5 минут.Просмотр историй вводимых команд в ssh сессияхВ какой то момент у джуна или вашего клиента может возникнуть вопрос, а что за магическую команду из for, grep, sed, awk, вы вводили и как бы снова всё решить без вас.По умолчанию все подключения и история вводимых команд записываются, но это можно отключить.tuna ssh-session list INFO[16:34:13] 2024-07-10 12:30:39. 2j3EcT3fxRinNMEj6WJNypj2Eqg (jidckii, active) INFO[16:34:13] 2024-07-10 12:37:14. 2j3FQCvX3ywE7sTbfp46xYkusPC (jidckii, active) INFO[16:34:13] 2024-07-15 15:52:34. 2jHknEvNAjBKqZbPMfQWoL3gdRM (jidckii, active) INFO[16:34:13] 2024-07-15 15:58:52. 2jHlYkFVjZgxah0bvEZ424Tjk61 (jidckii, active)видим все последние сессии и можем посмотреть историю вводимых команд нужной:просмотр вводимых коман в ssh сессии tunaИз ограничений не будет отображаться то, что вводилось в псевдографических редакторах, типа vim или nano, но мы работаем над этим 🙌Команды ниндзя 🥷Можно чуть улучшить примеры выше, для начала зарезервируйте статичный TCP порт, что бы вы всегда знали по какому порту подключаться и не спрашивать об этом коллегу/клиента.Регистрация статичного TCP портаЗатем попросите запустить примерно такую конструкцию:bash <(curl -sSL https://get.tuna.am) && tuna ssh --port=support --auth='team:lead' --token=<ваш_токен>Далее вам даже спрашивать ничего не надо, get скрипт сам установит клиента tuna на хост не важно macOS/Linux/FreeBSD, главное что бы curl был изначально, а в аргументах передаётся какой будет логин/пароль и зарезервированный статичный порт. Когда коллега/клиент запустит туннель, вы увидете, что он активен на вкладке с туннелями:Список туннелейВсё, можете подключаться:ssh -p 34985 team@ru.tuna.am team@ru.tuna.am's password: leadНа этом у меня всё, спасибо что дочитали до конца 🙂КонтактыПодробнее можете посмотреть всё на сайте https://tuna.am, надеюсь вам понравится работать с tuna.Если возникли вопросы, можете задать их нам по почте info@tuna.am, тут в коментариях или нашем чате в telegram.