SSH-туннель через публичный IP-адрес для пересылки на внутренний IP-адрес

SSH-туннель через публичный IP-адрес для пересылки на внутренний IP-адрес

У меня есть база данных mysql, доступная только через внутреннюю сеть IP 10.*:3306, и я хочу использовать свою локальную машину, чтобы в конечном итоге настроить phpmyadmin для ее администрирования, но сначала я просто пытаюсь настроить туннель SSH. Я запускаю команду, ssh -N admin@host_b_public_ip -L 3308:host_b_internal_ip:3306но она просто зависает в моем терминале. Если я открою другой терминал и попытаюсь mysql -P 3308 -u root -pввести пароль root mysql host_b, мне будет отказано. Есть ли способ проверить, открыто ли мое соединение? Предполагается ли, что эта команда просто запускается в режиме блокирующего терминала или она не выполняется должным образом? Возможно ли то, что я пытаюсь сделать?

решение1

  1. Попробуйте ssh -f -N *etc*. -fЗаставляет команду SSH работать в фоновом режиме.
  2. Попробуйте mysql -h 127.0.0.1 -P 3308 *etc*. -h 127.0.0.1Говорит mysql, чтобы попытаться подключиться ксетьсервер на localhost, а не локальный сервер. Из-за правила переадресации портов сетевое соединение затем перенаправляется на удаленный сервер. Если вы не используете флаг -h, он просто пытается связаться с локальным сервером MySQL и вообще не проходит по сети.

Связанный контент