[Blog](https://tuna.am/en/blog.md)|[New features](https://tuna.am/en/blog/tags/features)

# Вход через сессии и API-ключи вместо токена

October 29 · 4 min

До сих пор у аккаунта был один токен на все устройства. `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-оператор уже работают на ключах.

## Вход через сессию устройства

```bash
tuna login

```

Откроется браузер, после подтверждения CLI сохранит сессию в системное хранилище ключей: Keychain в macOS, Credential Manager в Windows, Secret Service в Linux. Tuna Desktop с версии [0.3](https://tuna.am/en/blog/desktop-v0-3.md) тоже входит через сессию устройства.

На сервере без браузера войдите по ссылке: `tuna login --no-browser` покажет ссылку и код, а подтвердить вход можно с любого устройства, где вы уже вошли. Если вы зашли на сервер по SSH, CLI предложит этот способ сам.

Каждое устройство — отдельная сессия. Список виден в [профиле](https://my.tuna.am/profile?lang=en) и в `tuna session list`. Если ноутбук потерян, завершите его сессию в профиле: туннели этого устройства остановятся сразу, а остальные продолжат работать. Жёсткого срока у сессии нет, она завершается после 30 дней без использования, а работающий туннель продлевает её сам.

## API-ключи вместо Tuna Token

Для всего, что работает без человека, — CI, серверов, Docker, коллеги с отдельным доступом — теперь выпускается API-ключ. В кабинете откройте **API ключи → Новый ключ** и выберите **Для туннелей**:

![Форма нового API-ключа: выбран вариант «Для туннелей», включён запуск туннелей, ниже ограничения — HTTP-туннели, TCP и SSH туннели, лимиты активных и созданных туннелей](/blog/img/2026-10-29-sessions-and-api-keys/new-tunnels-key.webp)

Такой ключ поднимает туннели, но не ходит в API. Его можно ограничить типами туннелей — только HTTP или только TCP и SSH, — числом одновременно работающих туннелей и сроком действия. Ключ показывается один раз, сразу с готовыми командами:

![Окно созданного ключа: предупреждение сохранить ключ сейчас, скрытый ключ tak\_ и команды для CI с TUNA_API_KEY и для сервера с tuna login --with-api-key](/blog/img/2026-10-29-sessions-and-api-keys/created-tunnels-key.webp)

При регистрации токен больше не выпускается: вместо страницы токена в кабинете — страница [API-ключей](https://my.tuna.am/api_keys?lang=en).

## Что будет со старым токеном

Ничего не сломается. Все токены `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-оператор.** Ничего делать не нужно: [провайдер](https://tuna.am/en/docs/guides/terraform.md) и [оператор](https://tuna.am/en/docs/tunnels/kubernetes-operator.md) с самого начала работают на API-ключах.

Подробная инструкция по каждому случаю, включая серверы без хранилища ключей и вопросы о `tuna logout`, — в разделе [Переход на сессии и API-ключи](https://tuna.am/en/docs/guides/sessions-and-api-keys.md).

## Leave feedback

If you enjoy using Tuna, or on the contrary you are not happy with something, please [leave feedback](https://my.tuna.am/?show_feedback=1&lang=en).

![](/blog/img/2024-08-22/feedback.gif)

## News

We announce new features and posts on our [Telegram channel](https://t.me/tuna_am). 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:

* [Email](mailto:info@tuna.am)
* [Telegram community](https://telegram.me/+Kgbtt0_gJwI5ZmEy)

Categories: [New features](https://tuna.am/en/blog/tags/features)

[older →🖥️ tuna-cli 0.39 — интерфейс в терминале у всех команд](https://tuna.am/en/blog/cli-v0-39-tui-everywhere.md)
