From abd0da091e014e9402c005d19bfcbb6267456219 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Wed, 13 May 2026 21:07:53 +0600 Subject: [PATCH] [2026-05-13] Add kraken-access.md: SSH via VPS tunnel, cloudflared summary --- family/how-to/kraken-access.md | 84 ++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 family/how-to/kraken-access.md diff --git a/family/how-to/kraken-access.md b/family/how-to/kraken-access.md new file mode 100644 index 00000000..b34cc93a --- /dev/null +++ b/family/how-to/kraken-access.md @@ -0,0 +1,84 @@ +# Kraken — Внешний доступ + +> Обновлено: 2026-05-13 + +## SSH с любой машины + +```bash +ssh kraken.qentra.top +``` + +`~/.ssh/config` на Eagle: +``` +Host kraken.qentra.top + HostName 91.207.28.205 + Port 2223 + User kraken + IdentityFile ~/.ssh/id_rsa + StrictHostKeyChecking no +``` + +`kraken.qentra.top` — просто алиас. Реально подключается на VPS `91.207.28.205:2223` → tunnel → `localhost:22` Кракена. + +--- + +## Как устроен туннель + +Кракен держит постоянный **reverse SSH tunnel** на VPS через autossh: + +``` +Кракен (RPi 5, 192.168.1.14) + └── autossh → ssh -R 2223:localhost:22 root@91.207.28.205 + ↓ + VPS (91.207.28.205) + слушает :2223 → перенаправляет на Кракен:22 +``` + +Аналогично Тайге (у неё порт 2222). + +### Управление туннелем на Кракене + +```bash +sudo systemctl status kraken-tunnel +sudo systemctl restart kraken-tunnel +sudo journalctl -u kraken-tunnel -n 20 +``` + +Файл сервиса: `/etc/systemd/system/kraken-tunnel.service` +SSH-ключ Кракена: `/home/kraken/.ssh/id_ed25519` +Публичный ключ добавлен в `/root/.ssh/authorized_keys` на VPS. + +### Проверить с VPS + +```bash +ssh root@91.207.28.205 "ss -tlnp | grep 2223" +``` + +--- + +## Cloudflared (для будущих сервисов) + +Контейнер `cloudflared` запущен на Кракене (`unless-stopped`), туннель `kraken` активен в CF Zero Trust. +Hostname: `kraken.qentra.top → SSH → localhost:22` (настроен но не используется — SSH идёт через VPS). +Можно добавить другие сервисы (OMV, Portainer) через Public Hostnames в Zero Trust. + +--- + +## Portainer API (локально) + +```bash +BASE=http://localhost:9000 +KEY="ptr_AJY+Ba9A7f6pcAHZfDD5koU4stkKgJCdbTEXLDLxn0g=" +EP=3 # endpoint ID на Кракене = 3, не 1! + +curl -s -H "X-API-Key: $KEY" "$BASE/api/endpoints/$EP/docker/containers/json?all=true" \ + | jq '[.[] | {name: .Names[0], status: .Status}]' +``` + +--- + +## Связанные заметки + +- [[kraken-portainer-access]] — полная инструкция по деплою cloudflared через Portainer +- [[openmediavault-rpi5]] — настройка Кракена (Docker, Hermes, структура папок) +- [[truenas-remote-access-reverse-proxy]] — аналогичный туннель для Тайги