SSHd туннель
Обзор
Tuna содержит встроенный SSH-сервер, это позволяет создать туннель и предоставить удаленный доступ по SSH без необходимости запускать SSH сервер и какой-либо конфигурации со стороны пользователя. Помимо функционала обычного SSH-сервера, tuna позволяет записывать сессии пользователей и просматривать их.

Создание SSH туннеля доступно только по подписке и только в Unix-подобных операционных системах (macOS, Linux, FreeBSD), Windows не поддерживается.
Примеры
Все актуальные флаги, подсказки и примеры можно посмотреть вызвав справку:
tuna ssh --help
Почти для всех флагов есть аналогичные переменные окружения.
Базовый пример
tuna ssh
После запуска будет выведена инструкция для подключения:
Connection instruction:
1. echo "[ru.tuna.am]:12524 ssh-ed25519 xxx" >> ~/.ssh/known_hosts
2. ssh -p 12524 ru.tuna.am
3. ru.tuna.am's password: fsk3xdpgqpje7m5l
По умолчанию принимается любой логин, а пароль генерируется автоматически и выводится в консоли.
Статичный пароль
Логин и пароль можно определить статически, с помощью флага --auth
или переменной окружения TUNA_SSH_AUTH
:
tuna ssh --auth="*:pass"
Где *
означает, что проверка имени производиться не будет, для ограничения по имени пользователя следует использовать следующий формат:
tuna ssh --auth="user:pass"
Запретить аутентификацию с помощью пароля
tuna ssh --password-auth=false
С указанием токена
Можно указать специфичный токен через флаг --token
или переменную окружения TUNA_TOKEN
. Переопределение происходит в соответствии с политикой очерёдности конфигурации.
tuna ssh --token=tt_***
С указанием региона для подключения
Можно указать специфичный регион через флаг --location
/-l
или переменную окружения TUNA_LOCATION
. Переопределение происходит в соответствии с политикой очерёдности конфигурации.
tuna ssh --location=nl
Статичный порт
В качестве значения флага --port
/-p
может выступать алиас или назначенный порт:
Можно резервировать TCP порты в личном кабинете и после перезапуска туннеля адрес останется прежним.
tuna ssh --port=ssh
tuna ssh --port=35000
Запись SSH сессий
Запись сессий включено по умолчанию, управляется флагом --record-session
или переменной окружения TUNA_RECORD_SESSION
:
tuna ssh --record-session=false
Управление и просмотр SSH сессий
Для просмотра записей и их управления есть отдельная команда tuna ssh-session
.
Вывести список
Выполняется командой tuna ssh-session list
:
tuna ssh-session list
INFO[11:14:12] 2024-10-28 11:13:49. 2o3u9YtqncQ5JfCtrj73WjFHDqR (jidckii, active)
Просмотр записи
Выполняется командой tuna ssh-session watch [session]
:
tuna ssh-session watch 2o3u9YtqncQ5JfCtrj73WjFHDqR
tuna:jidckii> ^C
tuna:jidckii> exit
Удалить все записи
tuna ssh-session clear
Поведение
SFTP
SFTP поддерживается, ничего дополнительно настраивать не нужно.