Проброс портов
Mobile SSH поддерживает локальный проброс портов SSH как на Android, так и на iOS. Локальный порт на устройстве слушает на 127.0.0.1 и перенаправляет трафик через SSH-подключение на удалённый хост и порт.
Синтаксис сохранённого туннеля
Правила проброса портов разделяются запятыми. Каждая запись использует одну из двух форм:
PORT
LOCAL:REMOTEHOST:REMOTE
Краткая форма:
8080
Это привязывает 127.0.0.1:8080 на устройстве и перенаправляет на localhost:8080 с точки зрения сервера.
Полная форма:
3000:localhost:3000
Это привязывает 127.0.0.1:3000 на устройстве и перенаправляет через SSH на localhost:3000 на удалённой стороне.
Несколько пробросов:
8080, 3000:localhost:3000, 15432:db.internal:5432
Добавление туннеля к сохранённому серверу
- Откройте Saved Servers.
- Добавьте или отредактируйте профиль сервера.
- Введите правила проброса в поле Port forwards.
- Сохраните сервер.
- Подключитесь к серверу.
Приложение применяет сохранённые пробросы после подключения SSH-сессии.
Туннели принадлежат профилю сервера
Пробросы объявляются в сохранённом сервере и поднимаются, когда этот сервер подключается. Отдельного экрана для добавления или удаления туннеля посреди сессии нет ни на одной из платформ: чтобы изменить пробросы, отредактируйте профиль сервера и переподключитесь.
Это осознанный компромисс — туннель, живущий в профиле, возвращается при каждом подключении, в том числе после переподключения в новой сети, и вам не нужно собирать его заново вручную.
Назначения IPv6
Назначение IPv6 нужно заключать в квадратные скобки, чтобы двоеточия нельзя было спутать с разделителем порта:
8080:[2001:db8::1]:80
Голый IPv6-адрес без скобок отклоняется как неоднозначный, а не читается неправильно молча. Та же форма со скобками работает и в поле адреса сервера, с необязательным портом после неё ([fe80::1]:22).
Привязка адреса
Mobile SSH привязывает локальные пробросы к 127.0.0.1 на устройстве. Это сделано намеренно: туннель остаётся локальным для устройства и исключаются неожиданности, связанные с loopback-адресами только по IPv6. Другие приложения на том же устройстве могут подключаться к проброшенному локальному порту, если операционная система разрешает им сетевой доступ.
Распространённые примеры
Доступ к веб-сервису, работающему на удалённом сервере:
8080
Затем откройте http://127.0.0.1:8080 в браузере на том же устройстве.
Доступ к серверу разработки:
3000:localhost:3000
Доступ к внутренней базе данных, доступной с SSH-сервера:
15432:db.internal:5432
Устранение неполадок с туннелями
- Убедитесь, что SSH-сессия подключена — пробросы поднимаются после того, как поднимется сессия.
- Проверьте, что локальный порт ещё не занят другим процессом.
- Проверьте, что удалённый хост и порт доступны с SSH-сервера.
- Используйте
localhost, когда служба назначения находится на самом SSH-сервере. - Используйте внутреннее DNS-имя или IP-адрес сервера при пробросе на другой хост за SSH-сервером.