Вход через сессии и API-ключи вместо токена
До сих пор у аккаунта был один токен на все устройства. tuna login сохранял его в конфигурационный файл, а тот же токен копировали в CI, Docker и фоновые сервисы. Отозвать доступ одного ноутбука было нельзя: перевыпуск токена ломал туннели везде.
В tuna-cli 0.39 это поменялось. CLI на ноутбуке входит через сессию устройства, а для CI, серверов и сервисов вместо токена — API-ключи с нужными правами. Старый токен продолжает работать, но CLI предупреждает о замене.
tuna loginвходит через браузер и создаёт сессию устройства. Сессии видны в профиле, завершённая сессия сразу останавливает туннели устройства.- Tuna Token переехал в API-ключи. Старый токен уже перенесён в ключ с правом на запуск туннелей и работает как раньше.
- В CI и Docker замените
TUNA_TOKENнаTUNA_API_KEY, сервисы переустановите. Terraform и Kubernetes-оператор уже работают на ключах.
Вход через сессию устройства
tuna login
Откроется браузер, после подтверждения CLI сохранит сессию в системное хранилище ключей: Keychain в macOS, Credential Manager в Windows, Secret Service в Linux. Tuna Desktop с версии 0.3 тоже входит через сессию устройства.
На сервере без браузера войдите по ссылке: tuna login --no-browser покажет ссылку и код, а подтвердить вход можно с любого устройства, где вы уже вошли. Если вы зашли на сервер по SSH, CLI предложит этот способ сам.
Каждое устройство — отдельная сессия. Список виден в профиле и в tuna session list. Если ноутбук потерян, завершите его сессию в профиле: туннели этого устройства остановятся сразу, а остальные продолжат работать. Жёсткого срока у сессии нет, она завершается после 30 дней без использования, а работающий туннель продлевает её сам.
API-ключи вместо Tuna Token
Для всего, что работает без человека, — CI, серверов, Docker, коллеги с отдельным доступом — теперь выпускается API-ключ. В кабинете откройте API ключи → Новый ключ и выберите Для туннелей:
Такой ключ поднимает туннели, но не ходит в API. Его можно ограничить типами туннелей — только HTTP или только TCP и SSH, — числом одновременно работающих туннелей и сроком действия. Ключ показывается один раз, сразу с готовыми командами:
При регистрации токен больше не выпускается: вместо страницы токена в кабинете — страница API-ключей.
Что будет со старым токеном
Ничего не сломается. Все токены tt_… перенесены в API-ключи с правом на запуск туннелей: они поднимают туннели, как раньше, а в API, как и раньше, не ходят. Старые версии CLI и Tuna Desktop тоже продолжают работать.
Новый CLI принимает TUNA_TOKEN, флаг --token и поле token в конфигурационном файле, но пишет предупреждение о замене. Сроков отключения старых токенов пока нет. Когда решим, предупредим заранее.
Что сделать
- Ноутбук. Выполните
tuna login. - CI и Docker. Переименуйте переменную
TUNA_TOKENвTUNA_API_KEYили передайте ключ флагом--api-key. Значение подойдёт то же самое, но лучше выпустить отдельный ключ под каждую задачу, чтобы отзывать его, не затрагивая остальные. - Фоновые сервисы. Войдите через
tuna loginи переустановите сервис командойtuna service install. Теперь каждый сервис получает свой ключ, привязанный к типу туннеля и к адресу, если он задан, аtuna service uninstallэтот ключ отзывает. - Terraform и Kubernetes-оператор. Ничего делать не нужно: провайдер и оператор с самого начала работают на API-ключах.
Подробная инструкция по каждому случаю, включая серверы без хранилища ключей и вопросы о tuna logout, — в разделе Переход на сессии и API-ключи.
Оставьте отзыв
Если вам нравится пользоваться Tuna, или наоборот вы недовольны чем либо, то пожалуйста оставьте отзыв.
Новости
Анонсы новых функций и статей публикуем в Telegram-канале. Подписывайтесь, чтобы ничего не пропустить.
Помощь
Мы ценим наших пользователей и детально изучаем все обращения, если у вас возникли проблемы с tuna – обязательно свяжитесь с нами одним из способов: