Как подключиться к удаленной базе данных через SSH – туннель в pgAdmin4 и DBeaver

SSH позволяет двум компьютерам общаться между собой и шифровать общие данные. Это широко используемый метод для безопасного доступа к удаленным серверным терминалам. А также это вполне уместно для передачи файлов.

SSH можно использовать для создания безопасного туннеля между компьютерами и для других сетевых подключений. Которые обычно не зашифрованы, этот метод называется туннелированием SSH (или переадресацией портов).

Вот несколько распространенных сценариев, в которых вы будете использовать туннелирование SSH или переадресацию портов:

  • Если порт удаленной службы к которой вы пытаетесь получить доступ, заблокирован в брандмауэре.
  • Вы хотите безопасно подключиться к службе, которая по своей сути не использует шифрование.

Например, если вы хотите подключиться к удаленному кластеру баз данных PostgreSQL, работающему на порту 5432 на сервере A. Но трафик на этот порт разрешен только с сервера B (к этому серверу у вас есть доступ SSH). Вы можете маршрутизировать трафик через SSH-соединение (туннель) через сервер B для доступа к кластеру баз данных на сервере A.

В этом статье предполагается, что в вашей системе Linux установлены инструменты управления базами данных pgadmin4 и DBeaver.

Настройка туннеля SSH в pgadmin4

Откройте приложение pgadmin4 и начните с создания нового подключения к серверу, перейдите на вкладку “Objects”, затем нажмите “Create” и выберите “Server”. Во всплывающем окне на вкладке “Общие” введите имя сервера, как показано на следующем скриншоте.

Создать туннелирование SSH в pgadmin4
Создать туннелирование SSH в pgadmin4

Затем перейдите на вкладку “Connection”, чтобы ввести параметры подключения к базе данных. Введите IP – адрес сервера базы данных или FQDN (полное доменное имя). Затем установите порт, имя базы данных, имя пользователя базы данных и пароль пользователя.

Вы можете установить флажок “Сохранить пароль”, чтобы сохранить пароль локально. После этого вам не будет предлагаться вводить его каждый раз, когда вы пытаетесь подключиться к базе данных.

Добавить параметры подключения к базе данных
Добавить параметры подключения к базе данных

Далее перейдите на вкладку “SSH Tunnel”. Включите опцию “Use SSH tunneling”, введите хост туннеля, порт туннеля, а также имя пользователя SSH. Затем выберите тип аутентификации (пароль или файл идентификации).

Мы рекомендуем использовать аутентификацию с открытым ключом, поэтому выберите “IDENTITY FILE” и выберите файл закрытого ключа с вашего локального компьютера. Затем нажмите “Save”, как показано на следующем скриншоте.

Добавить детали туннелирования SSH
Добавить детали туннелирования SSH

Если предоставленные настройки и учетные данные для подключения к базе данных и туннеля SSH верны и действительны. Тогда соединение с базой данных должны быть успешно установлены.

Подключено к удаленной базе данных
Подключено к удаленной базе данных

Настройка тоннеля SSH в DBeaver

После запуска DBeaver перейдите на вкладку Databases”, затем нажмите “New Database Connection”, как показано на следующем скриншоте.

Создать SSH туннель в DBeaver
Создать SSH туннель в DBeaver

Выберите драйвер базы данных из списка, как показано на следующем скриншоте, а затем нажмите кнопку “Next”.

Создать SSH туннель в DBeaver
Создать SSH туннель в DBeaver

Теперь введите параметры подключения к базе данных, IP-адрес хоста базы данных, FQDN (полное доменное имя), имя базы данных, имя пользователя базы данных и пароль пользователя, как показано на следующем скриншоте. Затем перейдите на вкладку SSH, чтобы ввести параметры туннельного соединения, как показано в следующем шаге.

Настройки подключения к базе данных
Настройки подключения к базе данных

Включите SSH, установив флажок “Use SSH Tunnel”. Введите хост туннеля, порт туннеля, имя пользователя SSH – соединения и выберите метод “Authentication”.

Как всегда, мы рекомендуем использовать аутентификацию с открытым ключом. Затем выберите или введите путь к вашему закрытому ключу. Далее нажмите кнопку Finish, как показано на следующем скриншоте.

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

Используйте детали туннелирования SSH
Используйте детали туннелирования SSH

Если настройки подключения к базе данных и SSH-туннеля верны и действительны, соединение должно быть успешным. Теперь вы можете безопасно работать с удаленной базой данных.

Подключение к удаленной базе данных в DBeaver
Подключение к удаленной базе данных в DBeaver

Для получения дополнительной информации ознакомьтесь с документацией pgadmin4 или документацией DBeaver SSH connection.

Понравилась статья?

Помогите Setiwik.ru создавать больше глубоких обзоров и новостей. Один клик и ваш вклад помогает держать серверы включёнными и авторов мотивированными!

Спасибо, что вы с нами!

Nazario

Я Назар. Уже больше десяти лет я работаю с Linux и Windows системами каждый день. Это моя основная профессия и большая часть жизни.
Всё, что ты читаешь на Setiwik.ru, начинается с официальной документации, мануалов и технических спецификаций. Я их изучаю очень внимательно. Но ценность статей появляется именно тогда, когда я беру эту базу и пропускаю через десятки реальных ситуаций: ночные аварии, странные баги, которые не гуглятся с первого раза, выстраданные конфиги и проверенные обходные пути.
Я не обещаю истину в последней инстанции. Но если мой опыт поможет тебе сэкономить хотя бы пару часов нервов и перезагрузок, значит всё это было не зря. Здесь только практика: от тонкой настройки серверов до самых неожиданных ситуаций, которые официальные руководства обычно обходят стороной.
Setiwik.ru это место, где IT становится понятнее и спокойнее. Заходи почаще. Будем разбираться вместе.

Практические инструкции по Windows и Linux
Добавить комментарий