SSHd туннель
Доступно только по подписке.
Обзор
Tuna содержит встроенный SSH-сервер, это позволяет создать туннель и предоставить удаленный доступ по SSH без необходимости запускать SSH сервер и какой-либо конфигурации со стороны пользователя. Помимо функционала обычного SSH-сервера, tuna позволяет записывать сессии пользователей и просматривать их.
Создание SSHd туннеля доступно только в 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
По умолчанию принимается любой логин, а пароль генерируется автоматически и выводится в консоли.
Адрес туннельных нод является публичным, злоумышленники могут просканировать порты, найти запущенные SSHd туннели и вести подбор пароля. По этому мы не рекомендуем использовать аутентификацию по паролю, особенно для долгоживущих SSHd туннелей запущенных как сервис. Ниже есть инструкция как включить аутентификацию по ssh ключу и запретить аутентификацию с помощью пароля
Статичный пароль
Логин и пароль можно определить статически, с помощью флага --auth или переменной окружения TUNA_SSH_AUTH:
tuna ssh --auth="*:pass"
Где * означает, что проверка имени производиться не будет, для ограничения по имени пользователя следует использовать следующий формат:
tuna ssh --auth="user:pass"
Аутентификация по ssh ключу
Для аутентификации по ключам, необходимо предварительно добавить публичный ключ в разделе SSH ключи в личном кабинете. А также на этой же странице, в настройках, включить - Разрешить подключения с помощью своих SSH ключей. В случае команды у вас может быть какой то общий ключ, и вы можете - Разрешить подключения участникам команды
- На странице SSH ключей - добавить публичный ключ.
- Разрешить подключения в SSH туннелях с помощью своих SSH ключей:
Запретить аутентификацию с помощью пароля
tuna ssh --password-auth=false
С указанием токена
Можно указать специфичный токен через флаг --token или переменную окружения TUNA_TOKEN. Переопределение происходит в соответствии с политикой очерёдности конфигурации.
tuna ssh --token=tt_***
С указанием региона для подключения
Можно указать специфичный регион через флаг --location/-l или переменную окружения TUNA_LOCATION. Переопределение происходит в соответствии с политикой очерёдности конфигурации.
tuna ssh --location=nl
Статичный порт
В качестве значения флага --port/-p может выступать алиас или назначенный порт.
Порты можно резервировать в личном кабинете и после перезапуска туннеля адрес останется прежним.
Подробнее о портах читайте в отдельной инструкции.
tuna ssh --port=ssh
tuna ssh --port=35000