Есть база данных, которая доступна из сети VPN и попасть в неё можно только с определенного сервера, к которому можно попасть через несколько SSH. Можно редактировать все через консоль, но а можно настроить БД (а точнее конфиги SSH) для работы через тоннель нескольких SSH.
Настройка SSH
Создаем файл config
в папке /home/user/.ssh
со следующим содержимым
Это метод подходит для OpenVPN версии 7.3 и старше. Для младших версий придется повозиться с командами. Описаны по ссылке ниже
Host server1
Hostname vpn.host
User user
IdentityFile /home/user/.ssh/server1_e25519
Port 22
Host server2
Hostname 192.168.2.25
User user2
IdentityFile /home/user/.ssh/server2_e25519
Port 22
ProxyCommand ssh -W %h:%p server1
Host server3
Hostname 10.8.0.5
User user3
IdentityFile /home/user/.ssh/server3_e25519
Port 22
ProxyCommand ssh -W %h:%p server2
Подключение происходит с помощью команды
ssh server3
Таким образом подключаясь к server3 подключение пройдет через всю цепочку и теперь эту цепочку можно использовать для подключения в приложениях.
Использование туннелей в приложениях
DataGrip (Jetbrain)
- Выбрать SSH/SSL, отметить "Use SSH tunnel"
- Добавление SSH tunnel
- Указать данные подключения к БД
DBeaver
так и не получилось запустить ssh tunnel возникает ошибка
Источники
- SSH ProxyCommand example: Going through one host to reach another server — nixCraft
- How to connect to database through SSH using DataGrip — Stack Overflow
One Reply to “Подключение к БД через несколько SSH (Connect to db through multiple SSH)”
[…] здесь можно использовать прокинутые заранее через конфиг настройки серверов и в качестве servername указывать уже настроенные заранее названия серверов. (Подробнее тут) […]