У меня есть база данных 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 ответ
0
- Попробуйте
ssh -f -N *etc*
. Д. * .-f
заставляет команду SSH работать в фоновом режиме. - Попробуйте
mysql -h 127.0.0.1 -P 3308 *etc*
. Д. * .-h 127.0.0.1
говоритmysql
попытаться подключиться к сетевому серверу на локальном хосте, а не на локальном сервере. Из-за правила переадресации портов сетевое соединение затем перенаправляется на удаленный сервер. Если вы не используете флаг-h
, он просто пытается связаться с локальным сервером MySQL и вообще не переходит по сети.