Я пытаюсь настроить SSH-туннелирование на удаленном веб-сервере к другому серверу MySQL, чтобы базу данных можно было легко просматривать с помощью MySQL Query Browser. Я перехожу на эту страницу, но не могу подключиться к серверу MySQL.http://www.howtogeek.com/howto/ubuntu/доступ-к-вашему-серверу-mysql-удалённо-через-ssh/
Что я наделал:
- подключился к веб-серверу с помощью Putty через SSH.
- напечатано,
ssh -L 33060:[database]:3306 [myusername]@[webserver_address]
где [...] изменены фактической информацией. Меня попросили ввести пароль, я его ввел и получил следующее сообщение. Так что, похоже, вход прошел успешно.
сокет: протокол не поддерживается
Последний вход: .... 2012 из .... Авторские права (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 Регенты Калифорнийского университета. Все права защищены.
FreeBSD 7.1-РЕЛИЗ....
Добро пожаловать во FreeBSD!
Открыл MySQL Query Browser в Windows и ввел
Server Host:
локальный хост
Port:
33060
UserName:
моеимяпользователя
PassWord:
мой пароль
И там говорится:
Could not connect to the specified instance.
MySQL Error Number 2003
Can't connect to MySQL Server on 'localhost' (10061)
Извините, если это слишком просто. Спасибо за информацию.
решение1
Поскольку вы хотите получить доступ к удаленной системе с вашего хоста Windows, на котором вы используете Putty, вам необходимо создать туннель в Putty, а не в удаленной системе.
Создать туннель в Putty довольно просто.
- Открытая замазка
- Загрузите сохраненную сессию, если она у вас есть, или введите любую информацию о подключении.
- Прокрутите вниз до пункта «Подключение» -> «SSH» -> «Туннели».
- Установите исходный порт на
33060
- Установите в качестве назначения IP сервера базы данных, а затем
:3306
порт mysql. То есть что-то вроде192.168.1.1:3306
. - Нажмите «Добавить».
- Вернитесь на вкладку сеанса и выберите «Сохранить» или просто нажмите «Открыть», чтобы начать подключение.
После подключения запустите приложение базы данных и из приложения попробуйте подключиться к серверу, прослушивающему 127.0.0.1:33060
.
решение2
EDIT: Только что увидел, что вы используете неправильную строку подключения:
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
опции , это предоставит вам дополнительную информацию. Если вы видите, что порт привязки не удался, по крайней мере, вы должны увидеть причину.