Обертка внешних данных MySQL: использовать параметры SSH для SSL-соединения?

это может быть очень редкий вариант использования, но я пытаюсь сделать следующее:

Подключитесь к MySQL-Databse (моего веб-сайта) из базы данных PostgreSQL, чтобы создать стороннюю таблицу, которая получает информацию о пользователе веб-сайта из базы данных MySQL.

Итак, что я сделал до сих пор, это установил оболочку внешних данных MySQL (fdw) для PostgreSQL и попытался настроить сторонний сервер. Проблема в том, что веб-хост разрешает только SSH-доступ к базе данных, в то время как mysql_fdw принимает только дополнительные параметры SSL:

{ "ssl_key",        ForeignServerRelationId },
{ "ssl_cert",       ForeignServerRelationId },
{ "ssl_ca",         ForeignServerRelationId },
{ "ssl_capath",     ForeignServerRelationId },
{ "ssl_cipher",     ForeignServerRelationId }

Итак, мой вопрос: могу ли я каким-то образом использовать свои учетные данные для входа в SSH (пользователь SSH / пароль или пара ключей) для генерации необходимых параметров SSL?

Кто-нибудь знает, как этого добиться?

Спасибо и добрые пожелания,

Майкл


person user14720    schedule 20.07.2018    source источник


Ответы (1)


Вы почти наверняка не получаете доступ к MySQL через ssh. Вы получаете доступ к серверу, на котором он находится, через ssh, а затем подключаетесь к MySQL. Вы можете сделать это, просто запустив клиент командной строки mysql или перенаправив порт на свой локальный компьютер.

Итак - если вы хотите подключиться к MySQL со своего сервера PostgreSQL, он должен быть доступен из Интернета. Вы должны открыть только IP-адрес PostgreSQL для порта MySQL на вашем брандмауэре. Затем ваши операторы GRANT в MySQL могут также войти в систему с этим удаленным именем хоста. Создайте отдельного пользователя только для этого удаленного подключения.

Также возможно потребовать известный клиентский сертификат от соединения PostgreSQL. Это обеспечит дальнейший безопасный доступ.

Теперь - возможно, вы используете службу, которая вообще не разрешает удаленный доступ к MySQL. В этом случае вам нужно будет либо настроить постоянный туннель ssh (неудобно, может вызвать проблемы при периодическом обрыве соединения), либо отправить данные с конца mysql.

person Richard Huxton    schedule 20.07.2018