SSH позволяет двум компьютерам общаться между собой и шифровать общие данные. Это широко используемый метод для безопасного доступа к удаленным серверным терминалам. А также это вполне уместно для передачи файлов.
SSH можно использовать для создания безопасного туннеля между компьютерами и для других сетевых подключений. Которые обычно не зашифрованы, этот метод называется туннелированием SSH (или переадресацией портов).
Вот несколько распространенных сценариев, в которых вы будете использовать туннелирование SSH или переадресацию портов:
- Если порт удаленной службы к которой вы пытаетесь получить доступ, заблокирован в брандмауэре.
- Вы хотите безопасно подключиться к службе, которая по своей сути не использует шифрование.
Например, если вы хотите подключиться к удаленному кластеру баз данных PostgreSQL, работающему на порту 5432 на сервере A. Но трафик на этот порт разрешен только с сервера B (к этому серверу у вас есть доступ SSH). Вы можете маршрутизировать трафик через SSH-соединение (туннель) через сервер B для доступа к кластеру баз данных на сервере A.
В этом статье предполагается, что в вашей системе Linux установлены инструменты управления базами данных pgadmin4 и DBeaver.
- Как установить PostgreSQL с pgAdmin4 на Linux Mint 20
- Как установить DBeaver Universal Database Tool в Linux
Настройка туннеля SSH в pgadmin4
Откройте приложение pgadmin4 и начните с создания нового подключения к серверу, перейдите на вкладку «Objects», затем нажмите «Create» и выберите «Server». Во всплывающем окне на вкладке «Общие» введите имя сервера, как показано на следующем скриншоте.
Затем перейдите на вкладку «Connection», чтобы ввести параметры подключения к базе данных. Введите IP — адрес сервера базы данных или FQDN (полное доменное имя). Затем установите порт, имя базы данных, имя пользователя базы данных и пароль пользователя.
Вы можете установить флажок «Сохранить пароль», чтобы сохранить пароль локально. После этого вам не будет предлагаться вводить его каждый раз, когда вы пытаетесь подключиться к базе данных.
Далее перейдите на вкладку «SSH Tunnel». Включите опцию «Use SSH tunneling», введите хост туннеля, порт туннеля, а также имя пользователя SSH. Затем выберите тип аутентификации (пароль или файл идентификации).
Мы рекомендуем использовать аутентификацию с открытым ключом, поэтому выберите «IDENTITY FILE» и выберите файл закрытого ключа с вашего локального компьютера. Затем нажмите «Save», как показано на следующем скриншоте.
Если предоставленные настройки и учетные данные для подключения к базе данных и туннеля SSH верны и действительны. Тогда соединение с базой данных должны быть успешно установлены.
Настройка тоннеля SSH в DBeaver
После запуска DBeaver перейдите на вкладку «Databases», затем нажмите «New Database Connection», как показано на следующем скриншоте.
Выберите драйвер базы данных из списка, как показано на следующем скриншоте, а затем нажмите кнопку «Next».
Теперь введите параметры подключения к базе данных, IP-адрес хоста базы данных, FQDN (полное доменное имя), имя базы данных, имя пользователя базы данных и пароль пользователя, как показано на следующем скриншоте. Затем перейдите на вкладку SSH, чтобы ввести параметры туннельного соединения, как показано в следующем шаге.
Включите SSH, установив флажок «Use SSH Tunnel». Введите хост туннеля, порт туннеля, имя пользователя SSH — соединения и выберите метод «Authentication».
Как всегда, мы рекомендуем использовать аутентификацию с открытым ключом. Затем выберите или введите путь к вашему закрытому ключу. Далее нажмите кнопку Finish, как показано на следующем скриншоте.
Примечание: Если ваш закрытый ключ имеет кодовую фразу, вам необходимо ее предоставить.
Если настройки подключения к базе данных и SSH-туннеля верны и действительны, соединение должно быть успешным. Теперь вы можете безопасно работать с удаленной базой данных.
Для получения дополнительной информации ознакомьтесь с документацией pgadmin4 или документацией DBeaver SSH connection.