Я пытаюсь настроить SSH-туннелирование на удаленном веб-сервере на другой сервер MySQL, чтобы можно было легко просматривать базу данных с помощью MySQL Query Browser. Я следую за этой страницей, но не могу подключиться к серверу MySQL. http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

Что я сделал:

  1. вошел на веб-сервер с Putty через SSH.
  2. набрал ssh -L 33060:[database]:3306 [myusername]@[webserver_address] где [...] s изменяются в соответствии с фактической информацией.
  3. Меня спросили пароль, набрали его и получили следующее сообщение. Так что, похоже, вход был успешным.

    сокет: протокол не поддерживается

    Последний вход в систему: .... 2012 с .... Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994. Регенты Калифорнийского университета. Все права защищены.

    FreeBSD 7.1-RELEASE ....

    Добро пожаловать во FreeBSD!

  4. Открыл MySQL Query Browser в Windows и вошел

Server Host: localhost Port: 33060 UserName: myusername PassWord: mypassword

И это говорит,

Could not connect to the specified instance.
MySQL Error Number 2003
Can't connect to MySQL Server on 'localhost' (10061)

Извините, если это слишком просто. Спасибо за Вашу информацию.

2 ответа2

2

Поскольку вы хотите получить доступ к удаленной системе с вашего хоста Windows, с которого вы используете Putty, вам нужно создать туннель внутри Putty, а не в удаленной системе.

Установка туннеля в Putty довольно проста.

  • Шпаклевка
  • Загрузите сеанс сохранения, если он у вас есть, или введите любую информацию о соединении.
  • Прокрутите вниз к Соединению -> SSH -> Туннели
  • Установите порт источника на 33060
  • Задайте адрес назначения в качестве IP-адреса сервера базы данных, а затем :3306 для порта mysql. Так что-то вроде 192.168.1.1:3306 .
  • Нажмите «Добавить»
  • Вернитесь на вкладку сеанса и выберите «Сохранить» или просто нажмите «Открыть», чтобы установить соединение.

страница туннеля замазки

После подключения запустите приложение базы данных и из приложения попытайтесь подключиться к серверу, прослушивающему 127.0.0.1:33060 .

1

РЕДАКТИРОВАТЬ: Только что увидел, что вы используете неправильную строку подключения:

ssh -L 33060:[database]:3306 [myusername]@[webserver_address

Попробуйте с:

ssh -4 -L 33060:localhost:3306 [myusername]@[webserver_address

Опция -4 заставляет использовать IPv4, а localhost является пунктом назначения для порта привязки (в вашем случае ДОЛЖЕН быть locahost)

Подключитесь, используя localhost:33060 и удаленные учетные данные.

Это должно работать!

В противном случае проверьте конфигурацию демона ssh вашего сервера для этого:

AllowTcpForwarding yes

В противном случае подключитесь к вашему серверу с помощью опции ssh -vv user@host , это принесет вам дополнительную информацию, если вы увидите, что порт привязки вышел из строя по крайней мере, вы должны увидеть причину.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .