We use cookies and similar technologies to improve your experience, analyse traffic, and personalise content. You can accept all cookies or reject non-essential ones.
SSH-туннель — это соединение, которое позволяет SurveyAnalytica безопасно получать доступ к ресурсам в вашей частной сети путём установки зашифрованного SSH-туннеля через промежуточный сервер (jump-сервер, также известный как bastion host). Это обычно используется, когда SurveyAnalytica необходимо подключиться к внутренним базам данных, API или сервисам, которые недоступны напрямую из интернета, но доступны с сервера, на котором открыт SSH.
SSH-туннели являются облегчённой альтернативой VPN-соединениям и хорошо подходят для подключения к отдельным сервисам, например к базе данных на конкретном хосте и порту.
Прежде чем настраивать SSH-туннель, убедитесь, что у вас есть следующее:
/etc/ssh/sshd_config) должна разрешать AllowTcpForwarding yes.10.0.1.50:5432).SurveyAnalytica использует аутентификацию на основе ключей для SSH-туннелей. Сгенерируйте выделенную пару ключей для этого подключения с помощью следующей команды:
ssh-keygen -t ed25519 -C "surveyanalytica-tunnel"
При появлении запроса:
~/.ssh/surveyanalytica_tunnel).В результате будут созданы два файла:
surveyanalytica_tunnel — приватный ключ (вы вставите его в SurveyAnalytica).surveyanalytica_tunnel.pub — публичный ключ (вы установите его на своём jump-сервере).Примечание. Мы рекомендуем ключи Ed25519 благодаря их высокой безопасности и компактному размеру. Также поддерживаются ключи RSA (4096 бит).
Публичный ключ необходимо добавить в список авторизованных ключей на вашем jump-сервере. Это можно сделать с помощью ssh-copy-id:
ssh-copy-id -i ~/.ssh/surveyanalytica_tunnel.pub username@jump-server-host
Также вы можете вручную добавить публичный ключ в файл авторизованных ключей:
cat ~/.ssh/surveyanalytica_tunnel.pub | ssh username@jump-server-host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Либо, если у вас есть прямой доступ к серверу, откройте ~/.ssh/authorized_keys на jump-сервере и вставьте содержимое файла .pub на новой строке.
Прежде чем продолжить, убедитесь, что ключ работает:
ssh -i ~/.ssh/surveyanalytica_tunnel username@jump-server-host echo "Connection successful"
В SurveyAnalytica перейдите в раздел Settings → Network Connections и нажмите Add Connection. Выберите SSH Tunnel в качестве типа подключения.
Заполните следующие поля:
| Поле | Описание | Пример |
|---|---|---|
| Host | Публичное имя хоста или IP-адрес вашего jump-сервера | bastion.example.com |
| Port | SSH-порт на jump-сервере | 22 |
| Username | Учётная запись SSH-пользователя на jump-сервере | sa-tunnel |
| Private Key | Вставьте содержимое файла приватного ключа | Содержимое surveyanalytica_tunnel |
| Поле | Описание | Пример |
|---|---|---|
| Remote Host | Внутреннее имя хоста или IP целевого ресурса (как оно видно с jump-сервера) | 10.0.1.50 |
| Remote Port | Порт целевого сервиса | 5432 |
Нажмите Test Connection, чтобы убедиться, что SurveyAnalytica может установить туннель и обратиться к целевому сервису. Если проверка прошла успешно, нажмите Save.
Когда интеграции или рабочему процессу требуется обратиться к вашему внутреннему ресурсу, SurveyAnalytica:
sa-tunnel) на jump-сервере для SurveyAnalytica. Не используйте root или общие учётные записи.~/.ssh/authorized_keys перед ключом:
no-pty,no-agent-forwarding,no-X11-forwarding,permitopen="10.0.1.50:5432" ssh-ed25519 AAAA... surveyanalytica-tunnel
Это ограничивает ключ переадресацией трафика только на указанный хост и порт.
/etc/ssh/sshd_config убедитесь, что указано следующее:
Match User sa-tunnel
PasswordAuthentication no
AllowTcpForwarding yes
PermitTunnel no
X11Forwarding no
~/.ssh/authorized_keys на jump-сервере.~/.ssh должен иметь права 700, authorized_keys — 600.nc -zv 10.0.1.50 5432.AllowTcpForwarding установлен в yes в конфигурации SSH-сервера.permitopen (если используется) включает правильный целевой хост и порт.