Онбординг джунов и техподдержка, без SSH-сервера и настройки прав на macOS, Linux, FreeBSD — c Tuna SSH
Запущенный таким образом туннель позволяет предоставить удаленный доступ по SSH без необходимости запускать SSH сервер, создания пользователя, настройки прав, выдачи sudo и так далее.
Если бы мы говорили про Windows, то там есть teamviewer и anydesk, но в unix мире, особенно в linux, проще получить консоль с bash.
Помощь коллегам, онбординг джунов
Сегодня работая в распределённых командах, новичку порой очень сложно понять как запустить проект локально, да у вас может быть всё оформлено через docker-compose и написано хорошее README в корне проекта, но новички на то и новички, опыта нехватает и человек не может понять, как ему всё это запустить начать разрабатывать по ответам из stackoverflow и chatgpt 🙂.
И тут вы как хороший тимлид приходите на помощь вашему новому коллеге, просите установить на его мак клиент tuna
запустить клиента и сказать вам реквизиты для подключения
И вот уже через несколько секунд вы можете подключиться к его компьютеру, создать .env файл и прописать туда недостающие значения, помочь в устранении проблем с Dоcker/NVM/Composer и так далее ...
Тех. поддержка клиентов
Второй кейс, это доступ к серверам клиентов в локальной сети. Предположим вы продаёте софт, он под Linux, а клиенты запускают его у себя в офисе в локальной сети. Иногда что-то не так, и вам для отладки нужно получить доступ к этому серверу. Хорошо если на месте есть сис. админ который может настроить сети и прокинуть доступ, но это и дольше и требует приложения услий, а потом ещё надо не забыть всё обратно закрыть.
И вот вы просите админа запустить на его Ubuntu Server вот такую команду:
также как в примере с джуном просите отправить реквизиты и подключаетесь:
Зашли вы на сервер, увидели, что на диске нет места, удалали логи, подняли postgres и ваше приложение, проверили, что ваш сервис работает и отписались о решении проблемы. Клиент доволен, на всё потрачено 5 минут.
Просмотр историй вводимых команд в ssh сессиях
В какой то момент у джуна или вашего клиента может возникнуть вопрос, а что за магическую команду из for, grep, sed, awk, вы вводили и как бы снова всё решить без вас.
По умолчанию все подключения и история вводимых команд записываются, но это можно отключить.
видим все последние сессии и можем посмотреть историю вводимых команд нужной:
Из ограничений не будет отображаться то, что вводилось в псевдографических редакторах, типа vim или nano, но мы работаем над этим 🙌
Команды ниндзя 🥷
Можно чуть улучшить примеры выше, для начала зарезервируйте статичный TCP порт, что бы вы всегда знали по какому порту подключаться и не спрашивать об этом коллегу/клиента.
Затем попросите запустить примерно такую конструкцию:
Далее вам даже спрашивать ничего не надо, get скрипт сам установит клиента tuna на хост не важно macOS/Linux/FreeBSD, главное что бы curl был изначально, а в аргументах передаётся какой будет логин/пароль и зарезервированный статичный порт. Когда коллега/клиент запустит туннель, вы увидете, что он активен на вкладке с туннелями:
Всё, можете подключаться:
На этом у меня всё, спасибо что дочитали до конца 🙂
Контакты
Подробнее можете посмотреть всё на сайте https://tuna.am, надеюсь вам понравится работать с tuna.
Если возникли вопросы, можете задать их нам по почте info@tuna.am, тут в коментариях или нашем чате в telegram.