Откройте SSH туннель и подключитесь к MySQL

1058
Tuco

Привет я пытаюсь использовать PuTTY, чтобы открыть туннель SSH и подключиться к удаленному серверу MySQL.

PuTTY:

  1. IP-адрес и порт удаленного SSH-сервера

  2. MySQL Port на удаленном сервере

  3. Туннель: Локальный адрес и порт на локальном компьютере (MySQL Server установлен локально, поэтому я использую 3307, а не 3306 на локальном компьютере, поэтому нет конфликта с локальным MySQL Server)

Откройте SSH туннель и подключитесь к MySQL Откройте SSH туннель и подключитесь к MySQL

Если я нажимаю кнопку «Открыть», PuTTY запрашивает имя пользователя и пароль, которые я предоставляю, если вход выполнен успешно, PuTTY немедленно закрывается без каких-либо сообщений или ошибок.

putty.log показывает это:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2017.08.23 07:29:08 =~=~=~=~=~=~=~=~=~=~=~=  login as: myUser Using keyboard-interactive authentication. Password for myUser@Server: Could not chdir to home directory /home/myUser: No such file or directory This service allows sftp connections only. 

Теперь, если я пытаюсь соединиться с MySQL Workbench, используя опцию Standard TCP/IP over SSH, это работает ...

Откройте SSH туннель и подключитесь к MySQL

Я читал на форумах, что решение состоит в том, чтобы настроить параметры на сервере SSH, но я не имею никакого контроля над сервером SSH.

Хотя я могу использовать WorkBench для подключения к базе данных, цель здесь состоит в том, чтобы Putty открыла туннель SSH.

Как открыть туннель SSH с помощью PuTTY? Что я делаю неправильно? Как я могу решить это без изменения сервера?


Использование plink: получение того же результата

Откройте SSH туннель и подключитесь к MySQL


РЕДАКТИРОВАТЬ

Я отключил опцию Не запускать оболочку или команду вообще, как предложил Мартин, теперь я не получаю сообщение об ошибке SFTP, но после ввода пароля ничего не происходит

Журнал просто пишет то, что я вижу на экране:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2017.08.23 10:07:25 =~=~=~=~=~=~=~=~=~=~=~= login as: user Using keyboard-interactive authentication. Password for user@server: 

РЕДАКТИРОВАТЬ 2 - решено

После следования совету Мартина Прикрыла:

Я поменял местами порты: L3307 -> 127.0.0.1:3306

Откройте SSH туннель и подключитесь к MySQL

Журнал событий замазки теперь говорит: Access granted - Local port 3307 forwarding to 127.0.0.1:3306

Теперь MySQL WorkBench может 127.0.0.1:3307успешно подключаться

Спасибо!

Если вам нужно сделать это с помощью PLINK, вот как я это сделал:

plink.exe SSH_SERVER_IP_OR_ADDRESS -P 2204 -ssh -l USER -pw PASSWORD -L 3307:127.0.0.1:3306 -N -v 
1
У вас 2 и 3 помечены с другой стороны. Martin Prikryl 6 лет назад 0

1 ответ на вопрос

1
Martin Prikryl

Попробуйте проверить:
Соединение> SSH> Параметры протокола> Не запускать оболочку или команду вообще .


У вас также есть местный и удаленный порт туннеля, поменяны местами.

Так должно быть:

L3307 => 127.0.0.1:3306 
Я больше не получаю сообщение об ошибке SFTP, но после ввода пароля ничего не происходит Tuco 6 лет назад 0
Звучит неплохо. Чего ты ожидал? Он просто открыл туннель (проверьте журнал событий PuTTY). Теперь вам нужно подключиться к туннелю. Martin Prikryl 6 лет назад 0
На самом деле я, возможно, не понял вопроса. Что вы хотите сделать с туннелем? Зачем вам создавать туннель, если верстак может создавать свой собственный? Martin Prikryl 6 лет назад 0
Я ожидал подтверждения типа "Соединение установлено" или что-то в этом роде. Tuco 6 лет назад 0
Нам необходимо подключиться к базе данных для целей разработки, мы не должны создавать туннель внутри приложения, он должен быть создан снаружи Tuco 6 лет назад 0
Вы можете увидеть это в журнале событий PuTTY. Martin Prikryl 6 лет назад 0
MySQL Workbench показывает ошибку при попытке подключиться напрямую к 127.0.0.1:3307, что заставляет меня поверить, что туннель не удалось Tuco 6 лет назад 0
Вы должны подключиться к 3306. Я уже писал, что вы пометили 2 и 3 наоборот. Martin Prikryl 6 лет назад 0
журнал не показывает это Tuco 6 лет назад 0
Или на самом деле вы должны поменять местами 3306 и 3307 в конфигурации PuTTY - вы ошиблись. Martin Prikryl 6 лет назад 0
Так покажите нам, что показывает журнал. Martin Prikryl 6 лет назад 0
Обновил ответ, дай мне сделать своп Tuco 6 лет назад 0
Я запросил PuTTY ** журнал событий **, а не ** сеанс ** журнал. Щелкните правой кнопкой мыши заголовок окна консоли PuTTY и выберите «Журнал событий». Martin Prikryl 6 лет назад 1
Спасибо Мартин. Там написано, что доступ предоставлен -> Локальный порт 3306 переадресация на 127.0.0.1:3307 Tuco 6 лет назад 0
MySQL по-прежнему не может подключиться, поэтому я все еще не так Tuco 6 лет назад 0
МАРТИН РАБОТАЕТ, СПАСИБО. Это чертовски работает! Я обновлю вопрос и отмечу ваш ответ Tuco 6 лет назад 0