SSH туннелирование с JDBC в Mac OS X - проблемы - PullRequest
1 голос
/ 12 мая 2011

В настоящее время я разрабатываю Java-приложение, которое использует JDBC-код для подключения к MySQL на компьютере под управлением Mac OS 10.6.7. Сервер, к которому я подключаюсь, внезапно решил использовать SSH. Мне удалось подключиться к базе данных с помощью MySQLWorkbench, так что с подключением все в порядке.

Моя следующая попытка состояла в том, чтобы запустить терминал и набрать ssh username@sshserver.com -L 3305: databaseserver: 3306, а затем запустить Eclipse и запустить мое приложение. Терминал запросил у меня пароль, но JDBC не смог подключиться. Я попробовал SSH Tunnel Manager со следующими настройками: http://imageshack.us/photo/my-images/146/sshb.jpg/, он также запрашивает пароль, а затем горит зеленым светом. Все еще безуспешно. Приложение работало хорошо, когда я только что подключился без SSH. Я был бы очень благодарен за любую помощь, я гуглил и проверял каждое предложение, которое я нашел, но ничего не помогало.

1 Ответ

3 голосов
/ 12 мая 2011

Две проблемы, которые следует учитывать при использовании туннелей:

  1. Помните, что когда вы используете туннель, ваш клиент JDBC должен подключаться к локальному порту 3305 (или 3306, независимо от того, что вы на самом делес помощью).Он не должен продолжать пытаться подключиться напрямую к удаленному хосту.

  2. SSH туннелирует соединение с удаленным концом и попытается подключиться к порту 3306 «сервера базы данных» оттуда.Если ssh на удаленном хосте не может разрешить имя хоста, которое вы ему дали, оно не сможет установить соединение.Поскольку вы туннелируете к серверу базы данных, вы можете вместо этого попробовать подключиться к «localhost» или «127.0.0.1».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...