Перейти к основному содержимому

SSH туннель

Обзор

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 поддерживается, ничего дополнительно настраивать не нужно.