Как управлять сессией ssh ​​и соединением mysql через приложение javaFx? - PullRequest
0 голосов
/ 15 мая 2019

У меня есть несколько одновременных + удаленных подключений Java / MySQL к серверу частного облака, при первом подходе я начал устанавливать эти подключения (подключение, запрос, закрытие подключения) непосредственно к общедоступному IP-адресу сервера, который работал нормально, но это не правильный подход из-за некоторой конфигурации безопасности, которая собирается оставить привязку MySQL как localhost (больше не сможет использовать публичный IP для доступа к нему).

Итак, я должен подключиться к MySQL через туннель SSH. Я видел несколько ответов, как «как сделать это» с Java, например:

Подключение к удаленной базе данных MySQL через SSH с использованием Java

Java SSH MySQL соединение

Это довольно ясно и понятно, но Я до сих пор не понимаю, нужно ли мне открывать и закрывать туннель SSH каждый раз, когда мне нужно открывать и закрывать соединение MySQL , или в чем могут быть проблемы что я мог бы найти с помощью сеансов SSH.

Кроме того, любые советы о том, где и как хранить SSH, будут высоко оценены. До сих пор я сохранял их на HKEY_LOCAL_MACHINE с base64 для пользователя MySQL, но он не выглядит достаточно безопасным для учетных данных SSH.

1 Ответ

1 голос
/ 16 мая 2019

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

Я использовал PuTTY, так как сейчас работаю в Windows, есть и другие нативные решения для Unix.

Для тестирования я использовал порт 3307 моего 127: 0: 0: 1 под SSH> Конфигурация туннеля для связи с общедоступным IP-адресом и частным сервером моего частного сервера X: X: X: X: 3306 .

Следуя этим инструкциям:

http://www.ytechie.com/2008/05/set-up-a-windows-ssh-tunnel-in-10-minutes-or-less/

https://www.youtube.com/watch?v=7YNd1tFJfwc

В конце концов мне удалось успешно подключиться к моему частному серверу, настроенному как 127.0.0.1: 3307 на MySQL Workbench, сохранив сеанс туннеля SSH PuTTY открытым.

Таким образом, как сказано в комментариях, код Java будет указывать на мой локальный хост 127: 0: 0: 1: 3307 , но будет работать на общедоступном IP-адресе моего сервера сучетные данные MySQL сервера, пока открыт туннель SSH.

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

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