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