Вход через сессии и 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-ключи.
Leave feedback
If you enjoy using Tuna, or on the contrary you are not happy with something, please leave feedback.
News
We announce new features and posts on our Telegram channel. Subscribe so you don't miss anything.
Help
We value our users and carefully review every request. If you have any problems with tuna, please contact us in one of the following ways: