Guide

Настройки подключения и VPN

Автоматическое переподключение, keep-alive, port forwarding, jump-хосты и настройка VPN

Настройки подключения и VPN

MTerm предоставляет детальный контроль над поведением подключения, от автоматического переподключения до интервалов keep-alive. Это руководство охватывает все настройки подключения, port forwarding, конфигурацию jump-хостов и варианты VPN для доступа к серверам за файрволами.


Настройки подключения

Эти настройки управляют тем, как MTerm обрабатывает SSH-соединение, особенно в части фонового режима и переподключения. Все настраиваются для каждого хоста или глобально в Параметрах.

НастройкаПо умолчаниюОписание
Автоматическое переподключениеONАвтоматически переподключается, когда ты возвращаешься в MTerm из фона. Без этого пришлось бы переподключаться вручную при каждом переключении приложений.
Макс. попыток10Максимальное количество попыток переподключения перед отказом. Если сервер временно недоступен, MTerm будет продолжать попытки до этого лимита.
Интервал повтора3 секундыСколько ждать между попытками переподключения. Более короткий интервал переподключает быстрее, но генерирует больше попыток подключения на сервере.
Keep-Alive30 секундКак часто MTerm отправляет keep-alive пинг серверу. Это предотвращает закрытие неактивных соединений файрволами и NAT-устройствами. Если соединения обрываются после простоя, попробуй уменьшить это значение.
Порог перезапуска shell300 секундЕсли приложение было в фоне дольше этого времени, shell-сессия перезапускается, а не возобновляется. Это позволяет избежать проблем с устаревшим состоянием shell.
Отключение в фонеOFFПри включении MTerm отключает TCP-соединение, когда приложение уходит в фон. Можно настроить задержку перед отключением. Это экономит ресурсы сервера и батарею, когда ты знаешь, что будешь отсутствовать некоторое время.
Поведение при выходе из shellАвто-закрытиеЧто происходит, когда удалённый shell завершается (например, ты набираешь exit или сервер отключается). Варианты: Авто-закрытие (немедленно закрыть вкладку), Подтвердить (спросить, закрывать ли), или Оставить открытой (оставить вкладку открытой со статусом выхода).

Рекомендуемые настройки для разных сценариев

Нестабильный Wi-Fi (кафе, конференция):

  • Автоматическое переподключение: ON
  • Макс. попыток: 20
  • Keep-Alive: 15 секунд
  • Рассмотри использование Mosh вместо SSH для ещё большей устойчивости

Стабильная сеть (дом/офис):

  • Настройки по умолчанию работают хорошо
  • Keep-Alive можно увеличить до 60 секунд для уменьшения лишнего трафика

Экономия батареи:

  • Отключение в фоне: ON с задержкой 30 секунд
  • Порог перезапуска shell: 30 секунд

Port Forwarding

Port forwarding позволяет получить доступ к сервисам на удалённом сервере так, будто они запущены локально, или экспонировать локальные сервисы в удалённую сеть.

Локальная переадресация портов (-L)

Локальная переадресация портов слушает порт на твоём устройстве и туннелирует трафик к назначению, доступному с удалённого сервера.

Пример: Твой удалённый сервер запускает базу данных PostgreSQL на порту 5432, которая принимает только локальные подключения. Настрой локальную переадресацию:

  • Локальный порт: 5432
  • Удалённый хост: localhost
  • Удалённый порт: 5432

Теперь любое приложение на iPad может подключиться к localhost:5432 и получить доступ к базе данных на сервере.

Типичные применения:

  • Доступ к веб-приложениям на сервере (переадресация портов 3000, 8080 и т.д.)
  • Подключение к базам данных (PostgreSQL, MySQL, Redis)
  • Доступ к панелям администрирования, слушающим только на localhost

Удалённая переадресация портов (-R)

Удалённая переадресация портов слушает порт на удалённом сервере и туннелирует трафик обратно на твоё устройство (или хост, доступный с твоего устройства).

Пример: Ты хочешь экспонировать локальный сервер разработки, запущенный на Mac (доступный с iPad через локальную сеть), на удалённый сервер:

  • Удалённый порт: 8080
  • Локальный хост: 192.168.1.100
  • Локальный порт: 3000

Теперь процессы на удалённом сервере могут обращаться к localhost:8080 для доступа к твоему локальному серверу разработки.

Управление переадресацией портов

  • Сохраняется для каждого хоста — Переадресации портов хранятся как часть конфигурации хоста, поэтому они готовы при каждом подключении
  • Автоматическое переподключение — Если туннель падает, MTerm автоматически восстанавливает его
  • Индивидуальное управление — Запускай и останавливай каждую переадресацию независимо
  • Отслеживание статуса — Каждая переадресация показывает текущий статус: Активна, Остановлена, Запускается, Ошибка или Переподключение

Jump-хосты (серверы Bastion)

Многие производственные среды требуют подключения через сервер bastion (также называемый jump-хостом) вместо прямого подключения к целевой машине. MTerm обрабатывает это прозрачно.

Как это работает

Когда ты настраиваешь jump-хост для подключения, MTerm:

  1. Устанавливает SSH-соединение с jump-хостом
  2. Создаёт туннель через jump-хост к целевому серверу
  3. Устанавливает второе SSH-соединение к целевому серверу через туннель

С твоей стороны это бесшовно — ты нажимаешь на хост и подключён. Конфигурация jump-хоста сохраняется как часть профиля хоста.

Аутентификация через jump-хосты

MTerm поддерживает аутентификацию RSA-SHA256 через jump-хосты. Это означает, что современные SSH-серверы, отключившие устаревшие подписи SHA-1, будут корректно работать даже при доступе через сервер bastion.

Настройка

В настройках хоста:

  1. Включи “Jump Host”
  2. Введи имя хоста, порт, имя пользователя и учётные данные jump-хоста
  3. Настройки целевого хоста остаются прежними

Настройка VPN

Когда твои серверы находятся за файрволом или в частной сети, тебе нужен VPN для доступа к ним с iPad или iPhone. MTerm работает с любым VPN, обеспечивающим сетевой доступ, но вот два самых популярных варианта:

Tailscale

Tailscale — это самый простой способ подключить устройства к серверам. Он создаёт защищённую mesh-сеть между всеми твоими устройствами без настройки файрвола.

Настройка:

  1. Установи Tailscale на сервер и iPad/iPhone
  2. Войди под одной учётной записью на обоих устройствах
  3. Твой сервер получает IP Tailscale (например, 100.x.x.x)
  4. В MTerm используй IP Tailscale в качестве hostname

Tailscale автоматически обрабатывает NAT-траверсал, управление ключами и правила файрвола. Если не уверен, какой VPN выбрать, начни с Tailscale.

WireGuard

WireGuard — это лёгкий высокопроизводительный VPN-протокол. Он идеален, если ты предпочитаешь самостоятельно размещать VPN-инфраструктуру и хочешь максимальный контроль над конфигурацией.

Преимущества перед Tailscale:

  • Не требуется сторонняя учётная запись
  • Полный контроль над сетевой конфигурацией
  • Меньшие накладные расходы (WireGuard встроен в ядро Linux)
  • Можно настроить маршрутизацию только определённых подсетей

Настройка:

  1. Установи WireGuard на сервер и настрой его как VPN-сервер
  2. Установи приложение WireGuard на iPad/iPhone
  3. Импортируй или создай клиентскую конфигурацию
  4. Подключись к VPN
  5. В MTerm используй IP частной сети сервера в качестве hostname

Другие варианты VPN

MTerm работает с любым VPN, обеспечивающим сетевое подключение на уровне ОС, включая:

  • OpenVPN
  • IPsec/IKEv2
  • Корпоративные VPN-решения (Cisco AnyConnect, GlobalProtect и т.д.)

Пока VPN предоставляет твоему устройству маршрут к IP-адресу сервера, SSH-соединения MTerm будут работать через него.