Systematické řešení zvdáleného přístupu

Kamui

Systematické řešení zvdáleného přístupu
« kdy: 27. 12. 2018, 14:13:20 »
Situace je taková - rodině a známým spravuji počítače, obvykle s linuxem. Co řeším je, jak systémově zařídit vzdálený přístup pro správu (SSH). Mám k dispozici doma malý server, který je trvale online, takže může sloužit jako hub. Napadají mně dvě možnosti - buď ssh reverzní tunely z daného stroje na server (co stroj to port) pomocí autossh, nebo VPN. Řešení s SSH tunely mi přijde poněkud buranské, i když to funguje, a o VPN toho zase moc nevím. Poradíte mi jak situaci řešit (klidně i jiným způsobem)?


Vilith

  • *****
  • 662
    • Zobrazit profil
Re:Systematické řešení zvdáleného přístupu
« Odpověď #1 kdy: 27. 12. 2018, 14:24:32 »
VPN klienti k tobe a mas je vsechny dostupne, kdyz maji zapnute pocitace...

Kamui

Re:Systematické řešení zvdáleného přístupu
« Odpověď #2 kdy: 27. 12. 2018, 14:40:09 »
VPN klienti k tobe a mas je vsechny dostupne, kdyz maji zapnute pocitace...

Není náhodou u VPN problém, pokud více klientů má IP adresu ze stejného rozsahu (typicky 192.168.x.x za natem)? Nebo si to s něčím pletu?

Re:Systematické řešení zvdáleného přístupu
« Odpověď #3 kdy: 27. 12. 2018, 14:54:50 »
Jsou dvě jediná elegantní řešení:
1) mít dostatek IPv4 adres a stroje rozlišit adresou (dnes trochu problematické, ale ne nemožné), nebo,
2) mít IPv6 adresy, kterých je s jistotou dostatek.

Jak NAT (SSH port forwarding), tak VPN, jsou jen z nouze ctnosti.

Re:Systematické řešení zvdáleného přístupu
« Odpověď #4 kdy: 27. 12. 2018, 15:31:50 »
Situace je taková - rodině a známým spravuji počítače, obvykle s linuxem. Co řeším je, jak systémově zařídit vzdálený přístup pro správu (SSH). Mám k dispozici doma malý server, který je trvale online, takže může sloužit jako hub. Napadají mně dvě možnosti - buď ssh reverzní tunely z daného stroje na server (co stroj to port) pomocí autossh, nebo VPN. Řešení s SSH tunely mi přijde poněkud buranské, i když to funguje, a o VPN toho zase moc nevím. Poradíte mi jak situaci řešit (klidně i jiným způsobem)?
Otázka hlavně je, co si představuješ pod slovy "systémově" a "buranské" :)

Pokud potřebuješ spravovat několik počítačů v různých sítích, tak ti stačí mít možnost sshčknout se na jeden stroj v každé síti. Na ostatní se už dostaneš ad hoc ssh tunelem. "Buranské" na tom není nic. Pokud to řeší tvoje potřeby, proč to nepoužít?

Samozřejmě si můžeš z každé sítě udělat i VPN k sobě, ale konfigurace není úplně triviální, pokud OpenVPN neznáš. A trochu tam hrozí, že když to uděláš blbě, dosáhneš nechtěných efektů (např. celá tvoje síť bude dostupná - a tímpádem napadnutelná ze všech těch zpřístupněných sítí :) nebo ti budou chodit pakety, které nechceš aby ti chodily, a budou ti žrát internetové připojení). Pokud bys v některé z těch sítí chtěl spravovat víc strojů a nechtěl si dělat tunel zvlášť z každého z nich, potom je to ještě komplikovanější, protože ty sítě pak potřebuješ proroutovat a VPN klient ti typicky neběží na bráně té sítě, takže to nejspíš bude chtít statické routy na všech strojích, no není to prostě tak triviální, jak to zní.

Další možnost je samozřejmě IPv6 nebo třeba TOR. Ale to je ještě větší overkill a ještě větší náchylnost k chybě vlivem špatné konfigurace.

Poslední, co bys ještě mohl využít, je instalace Salt minionů na těch spravovaných strojích a salt masteru u tebe. Pak můžeš nejenom automatizovat jejich konfiguraci, ale i spouštět na nich libovolné příkazy, třeba si udělat v případě potřeby ten ad hoc ssh tunel. Tohle řešení je ale taky overkill, pokud Salt dobře neznáš, a navíc když se něco pokazí, tak jsi bez spojení do té sítě a neopravíš to.

Takže suma sumárum, spíš napiš, jaké máš vlastně konkrétní požadavky a co ti přijde buranskýho na tom řešení s ssh. Neřeš domnělou pseudoeleganci, která povede k nespolehlivosti, řeš co opravdu potřebuješ řešit ;)
« Poslední změna: 27. 12. 2018, 15:35:29 od Mirek Prýmek »


sfddkdds

Re:Systematické řešení zvdáleného přístupu
« Odpověď #5 kdy: 27. 12. 2018, 16:05:17 »
Btw, slyšel jsi o VPN over SSH?

samalama

Re:Systematické řešení zvdáleného přístupu
« Odpověď #6 kdy: 27. 12. 2018, 16:46:02 »
... spravuji počítače...

VPN klienti k tobe a mas je vsechny dostupne, kdyz maji zapnute pocitace...

Není náhodou u VPN problém, pokud více klientů má IP adresu ze stejného rozsahu (typicky 192.168.x.x za natem)? Nebo si to s něčím pletu?

tak tu "spravu" by som chcel vidiet...

xhamsterr

Re:Systematické řešení zvdáleného přístupu
« Odpověď #7 kdy: 29. 12. 2018, 16:22:47 »
... spravuji počítače...

VPN klienti k tobe a mas je vsechny dostupne, kdyz maji zapnute pocitace...

Není náhodou u VPN problém, pokud více klientů má IP adresu ze stejného rozsahu (typicky 192.168.x.x za natem)? Nebo si to s něčím pletu?

tak tu "spravu" by som chcel vidiet...
Taky me napadlo covtam vlastne prez to ssh spravuje ... .

Wily

Re:Systematické řešení zvdáleného přístupu
« Odpověď #8 kdy: 29. 12. 2018, 17:52:11 »
Nainstaluj těm klientům salt-miniony a na svůj server si dej salt-master a můžeš to kompletně spravovat jak potřebuješ. Salt použivá zeroMQ, výhoda je taková, že klienti se připojí k salt-masteru a ne obráceně jak je to u SSH. A je to defaultně šifrovaný.

Cabrón

Re:Systematické řešení zvdáleného přístupu
« Odpověď #9 kdy: 02. 01. 2019, 15:39:10 »
Nezatracoval bych úplně ty ssh tunely, je to nejjednodušší pro malá množství spravovaných strojů. Na každém stačí mít uživatele s unikátním klíčem (bez hesla) a tuhle systemd unit, pak to automaticky řeší obnovení tunelu při změnách připojení a podobně. Mám několik takových v autech a funguje to roky bez dozoru.

Uživatel tunnel na muj-server.cz může mít shell /bin/false nebo ekvivalent. Hodnota RestartSec je tak vysoká kvůli 60s prodlevě, po které jádro uklidí tcp spojení, když to sletí.

Kód: [Vybrat]
[Unit]
Description=a puppeteer's tunnel
After=network.target

[Service]
User=tunnel
ExecStart=/usr/bin/ssh -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" -o "ExitOnForwardFailure yes" -NR 10022:localhost:22 muj-server.cz
Restart=always
RestartSec=90

[Install]
WantedBy=multi-user.target

k3dAR

  • *****
  • 3 071
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Systematické řešení zvdáleného přístupu
« Odpověď #10 kdy: 02. 01. 2019, 20:47:24 »
na ssh tunelu neni nic buranskeho ;-) pouzivam roky... klient bez verejne ip i icializuje ssh tunel na server s forwardem ssh a vnc portu a ze serveru se pak na jeho ssh a vnc kdykoliv pripojim...

edit: klient se samozrejme pripojuje auto s klicem a nema povolen shell, jen "nabidne" sve porty, omezeni primo v authorized_keys na serveru
« Poslední změna: 02. 01. 2019, 20:49:45 od k3dAR »