SSL и SSH-туннель
ide99 поддерживает все стандартные SSL-режимы Postgres и подключение через SSH-туннель — для случаев, когда база недоступна напрямую снаружи.
SSL Mode
Параметр определяет, как клиент договаривается с сервером о шифровании. Это тот же sslmode, что в libpq.
| Режим |
Шифрование |
Проверка сертификата |
Когда использовать |
disable |
нет |
нет |
Только локально, когда Postgres явно без TLS |
allow |
если сервер потребует |
нет |
Старые конфигурации, не рекомендуется |
prefer |
если возможно |
нет |
По умолчанию. ОК для большинства managed-баз |
require |
да |
нет |
Гарантирует шифрование, но не проверяет, кому подключаетесь |
verify-ca |
да |
проверяет CA |
Защита от MITM при наличии корпоративного CA |
verify-full |
да |
проверяет CA + hostname |
Самый строгий — рекомендован для prod |
Большинство managed Postgres (Supabase, Neon, AWS RDS, Yandex) требуют как минимум require. Для критичных prod-баз ставьте verify-full и положите CA-файл в системное хранилище.
CA-сертификат
Если выбран verify-ca или verify-full, ide99 использует системные CA-сертификаты ОС. Если ваш сервер использует приватный CA (например, Yandex Cloud публикует свой root.crt), скачайте его и установите в систему:
macOS
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain ~/Downloads/root.crt
Linux (Ubuntu/Debian)
sudo cp ~/Downloads/root.crt /usr/local/share/ca-certificates/yandex-root.crt
sudo update-ca-certificates
Windows
Дважды кликните .crt → Install Certificate → Local Machine → Trusted Root Certification Authorities.
После установки CA, verify-full начнёт работать.
SSH-туннель
Если Postgres недоступен с вашей машины напрямую (закрытый VPC, корпоративный bastion), используется SSH-туннель: вы подключаетесь к bastion-хосту по SSH, и через него — к базе.
В версии v1.0 ide99 не имеет встроенного SSH-клиента. Используйте системный ssh -L:
ssh -L 5433:db-internal.example.com:5432 user@bastion.example.com
Эта команда пробрасывает локальный порт 5433 через bastion на внутренний хост db-internal.example.com:5432. Туннель должен оставаться открытым (терминал не закрываете).
В ide99 указываете подключение:
- Хост:
localhost
- Порт:
5433 (тот, что слева от двоеточия)
- Остальные поля — от целевой базы
Постоянное использование удобнее настроить через ~/.ssh/config:
Host db-tunnel
HostName bastion.example.com
User user
LocalForward 5433 db-internal.example.com:5432
ServerAliveInterval 60
Тогда команда упрощается до ssh db-tunnel и можно повесить её на autostart.
Встроенный SSH-туннель планируется в одном из следующих релизов — это уберёт необходимость держать терминал открытым.
SCRAM-SHA-256, MD5
ide99 автоматически согласует метод аутентификации с сервером. Поддерживается всё, что поддерживает Postgres 12+: trust, password, md5, scram-sha-256. Никаких настроек на стороне клиента не требуется.
Сертификатная аутентификация (mTLS)
Если ваш сервер требует client cert (часто в enterprise-конфигурациях): пока что в форме подключения нет UI для указания client cert/key, ожидается в одной из следующих версий. До этого можно задать через PGCLIENTCERT, PGCLIENTKEY-переменные окружения перед запуском ide99 — Postgres-драйвер их подхватит.
Что дальше