Files
obsidian-vault/family/how-to/kraken-access.md
T

100 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Kraken — Внешний доступ
> Обновлено: 2026-05-13
## SSH с любой машины
**Контейнер hermes-kraken:**
- Маппинг `/home/kraken/.ssh:/opt/data/.ssh:ro` в docker-compose.yml
- Кастомный `/etc/passwd` с пользователем `kraken:x:1000:1000` (файл `passwd-with-kraken` рядом с compose)
- `HERMES_UID=1000 HERMES_GID=1000` чтоб entrypoint ремапил пользователя
- SSH из контейнера: `ssh -i /opt/data/.ssh/id_ed25519 kraken@localhost`
- Ключ `kraken` добавлен в `authorized_keys` на хосте
`~/.ssh/config` на Eagle:
```
Host kraken
HostName kraken
User kraken
Port 22
IdentityFile ~/.ssh/id_rsa
StrictHostKeyChecking no
ProxyCommand bash -c 'if ifconfig | grep -q 10.99.0.2; then nc 10.99.1.2 22; else nc kraken 22; fi'
```
**SSH напрямую по LAN:**
```bash
ssh kraken@kraken
```
**SSH через VPS** (reverse tunnel, порт 2223):
```bash
ssh -J root@91.207.28.205 kraken@127.0.0.1 -p 2223
```
`kraken.qentra.top` — Cloudflare Tunnel, только HTTP (Hermes API), SSH не работает.
`kraken.qentra.top` — Cloudflare Tunnel, только HTTP (Hermes API), SSH не работает.
---
## Как устроен туннель
Кракен держит постоянный **reverse SSH tunnel** на VPS через autossh:
```
Кракен (RPi 5, 192.168.1.15)
└── 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 → HTTP → localhost:8642` (Hermes API).
---
## 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]] — аналогичный туннель для Тайги