Terminál v prohlížeči u VDS je skutečná SSH relace, která se jen náhodou vykresluje ve webové stránce. Na stránce VDS u RE:NODE, kde je terminál zapnutý, stiskneš jedno tlačítko, panel zkusí na tvém serveru uložené přihlášení, a pokud projde, otevře se přímo na stránce už přihlášený shell - žádný klient k instalaci, žádné heslo k vkládání. Nad ním je živý přehled CPU, paměti, disku, swapu, zátěže, sítě a uptime, který se obnovuje každé 3 sekundy a doplňují ho malé grafy posledních dvou minut. Je to správný nástroj na rychlé nahlédnutí, restart služby nebo návrat na server z cizího notebooku. Je to špatný nástroj na dlouhý pracovní den, přenosy souborů, tunely nebo cokoli, co bys skriptoval. A protože obě funkce se přihlašují heslem, které panel drží, přímo ovlivňují to, jak můžeš na stroji zpevnit SSH. Všechny tři strany věci najdeš níže.
Co ti ukazuje stránka VDS#
Na VDS neběží žádný agent herního panelu, takže jediný způsob, jak panel zjistí, co stroj dělá, je zeptat se ho. Stránka VDS dělá přesně tohle: přihlásí se přes SSH údaji uloženými k tvé objednávce a spustí jeden pevně daný příkaz určený jen ke čtení, který čte čítače pod /proc a ptá se df na kořenový souborový systém. Nic, co na stránce napíšeš, se na jeho příkazovou řádku nedostane.
Výsledek se vykreslí jako karta nazvaná „Live resources“:
| Údaj | Odkud se bere | Zobrazení |
|---|---|---|
| CPU % a počet jader | /proc/stat, nproc | Pruh plus dvouminutový graf |
| Průměrná zátěž | /proc/loadavg | Hodnoty za 1, 5 a 15 minut |
| Paměť | MemTotal, MemAvailable | Pruh plus dvouminutový graf |
| Swap | SwapTotal, SwapFree | Pruh, jen pokud swap existuje |
| Disk | df na / | Pruh s využitým a celkovým místem |
| Síť příchozí a odchozí | /proc/net/dev | Rychlost plus malý graf |
| Uptime, hostname, OS | /proc/uptime, /etc/os-release | Prostý text |
Pruhy se při 70 % zbarví do oranžova a při 90 % do červena. Malý indikátor „Live“ ukazuje, před kolika sekundami dorazilo poslední měření, a když se obnovení nepodaří, změní se na „Paused“. Grafy drží 40 bodů - dvě minuty při intervalu 3 sekundy - a žijí jen v tvém panelu prohlížeče. Zavři záložku a historie je pryč. Je to pohled na to, co se děje právě teď, ne monitoring s historií a upozorněními; ten najdeš v článku monitoring, který ti něco řekne.
Dvě drobnosti usnadňují důvěru v čísla. CPU a síť jsou rychlosti spočítané z rozdílu dvou snímků čítačů jádra, takže první měření po otevření stránky trvá asi o sekundu déle, protože se vzorkuje dvakrát. A dotazování se zastaví, když je záložka prohlížeče skrytá, protože každé obnovení je skutečné SSH přihlášení na tvůj stroj. Nech stránku otevřenou na pozadí a nebude se pořád přihlašovat; přepni se na ni a přečte hodnoty okamžitě.
Jak správně číst čísla
Paměť je údaj, který lidé čtou špatně. Pruh používá MemAvailable, které počítá page cache, kterou může jádro uvolnit, jako dostupnou. Server, který v panelu ukazuje 40 % využité paměti, zatímco free ve sloupci „free“ ukazuje skoro nic, je v pořádku: Linux zaplňuje nevyužitou RAM cache. Sleduj, jestli dostupná paměť během hodin klesá, ne to, že volné paměti je málo. Pokud swap existuje a roste, zatímco dostupná paměť je téměř nulová, stroji chybí RAM a co se stane potom, vysvětluje článek o swapu a OOM killeru.
Průměrná zátěž (load average) není procento. Na VDS se 4 jádry znamená zátěž 4, že v průměru měla každé jádro ve frontě práci; zátěž 8 znamená, že práce čekala. Porovnej ji s počtem jader vypsaným vedle popisku CPU. Vysoká zátěž při nízkém využití CPU obvykle značí procesy čekající na disk a vzory prochází čtení grafu zátěže serveru.
Jak funguje terminál v prohlížeči#
Karta terminálu leží pod kartou zdrojů. Její tlačítko se jmenuje „Open terminal“; vedle SSH příkazu na téže stránce je i zkratka, která sjede dolů a terminál otevře. Otevření probíhá v pevném pořadí:
- Panel zkusí skutečné SSH přihlášení k tvému VDS s uloženou adresou, portem, uživatelským jménem a heslem, s krátkým timeoutem.
- Pokud přihlášení selže, nevykreslí se nic. Místo toho dostaneš větu: server se nepodařilo zastihnout na jeho SSH portu (může být vypnutý nebo v cestě stojí firewall), nebo server uložené přihlašovací údaje odmítl.
- Pokud projde, panel vystaví jednorázovou adresu pro relaci. Ta adresa neobsahuje heslo; obsahuje náhodný token, který se na naší straně do minuty jednou vymění za přihlášení.
- Relace se otevře na stránce, přihlášená jako uložený uživatel. „Full screen“ vyplní okno, „Close“ relaci ukončí.
Pořadí je důležité. Terminál, který se otevře na „Permission denied“, působí rozbitě; když se přihlášení ověří první, selhání se ohlásí jako to, čím je. Heslo se do tvého prohlížeče nedostane vůbec - ani v adrese, ani na stránce. A protože adresa funguje jen jednou, když ji ze stránky zkopíruješ a později otevřeš znovu, dostaneš chybu, ne shell.
Terminál nastavuje TERM=xterm-256color, takže htop, vim, nano, less a tmux se vykreslují správně a změna velikosti okna nebo celá obrazovka změní velikost i vzdáleného shellu. Označený text se zkopíruje a Ctrl+C s výběrem kopíruje, místo aby přerušil běžící program. Bez výběru Ctrl+C pošle přerušení, jak bys čekal.
Otevírání je omezeno na 10 pokusů za minutu. Pokud na limit narazíš - obvykle klikáním na „Try again“ dokola, zatímco server ještě startuje - počkej minutu.
Čím relace je a čím není
Je to obyčejné interaktivní SSH přihlášení. Všechno, co děláš, běží na tvém VDS s oprávněními uloženého uživatele - na čerstvém VDS je to obvykle root, tedy uživatelské jméno, které stránka ukazuje. Není to sandbox, není to záchranná konzole a není to pohled na obrazovku stroje. Pokud SSH nefunguje, nefunguje ani terminál: nepomůže ti opravit rozbitý sshd_config, firewall blokující port 22 ani stroj, který nenastartoval. Na to je potřeba ticket.
Také není trvalý. Zavření karty, obnovení stránky nebo ztráta připojení shell ukončí a vše, co běželo v popředí, dostane hangup. Pokud se chystáš spustit něco dlouhého - upgrade, velký rsync, import databáze - nejdřív spusť tmux nebo screen, aby práce přežila záložku:
$ tmux new -s work# spusť dlouhou úlohu, pak se odpoj pomocí Ctrl+B a potom D$ tmux attach -t workTento návyk má smysl v každém SSH klientu, ale v záložce prohlížeče je rozdílem mezi dokončeným a napůl nainstalovaným upgradem.
Kdy je terminál v prohlížeči lepší nástroj#
Jsou situace, kdy je terminál na stránce panelu prostě rychlejší:
- Jsi na cizím stroji. Pracovní notebook, na který nesmíš instalovat SSH klient, počítač v knihovně, kamarádovo PC. Nic se neinstaluje a nic nezůstane - žádný záznam v
known_hosts, žádný uložený klíč, žádné heslo ve správci schránky. - Jsi na telefonu a potřebuješ jediný příkaz. Restart služby, která v noci zamrzla, je
systemctl restart myappa proklikat se panelem je rychlejší než nastavovat mobilní SSH aplikaci. - Zjišťuješ, jestli přihlášení vůbec funguje. Předběžná kontrola dá jasnou odpověď - nedostupný, nebo odmítnuto - což je užitečný první krok, než začneš ladit vlastního klienta.
- Už se díváš na kartu zdrojů. Paměť vyskočila a chceš vedle ní
psnebohtop. Karta i shell jsou na jedné stránce. - Ještě nemáš nastavené klíče. První den, než projdeš první hodinou na novém VDS, je to cesta dovnitř, při které nemusíš opisovat vygenerované heslo.
Typická krátká relace ze stránky vypadá takto:
$ systemctl status myapp --no-pager$ journalctl -u myapp -n 50 --no-pager$ df -h /$ free -m$ ps aux --sort=-%mem | head -n 10Stav, poslední logy, disk, paměť, největší spotřebitelé paměti. Pět příkazů, odpověď nalezena, zavřít kartu. Širší sadu najdeš v článku Linuxové příkazy pro správce serverů.
Kdy je lepší vlastní SSH klient#
Na většinu skutečné práce používej pořádného klienta. Terminál v prohlížeči je záměrně jedna věc - interaktivní shell - a hodně toho, co na VDS děláš, to není.
| Úkol | Terminál v prohlížeči | Tvůj vlastní klient |
|---|---|---|
| Rychlé kontroly a restarty | Dobré | Dobré |
| Dlouhé relace, více shellů | Jedna záložka na shell | Záložky, dělení, znovupřipojení |
| Kopírování souborů | Ne | scp, sftp, rsync |
| Tunely a přesměrování portů | Ne | ssh -L, ssh -D |
| Skripty, Ansible, CI | Ne | Ano |
| Přihlášení jen klíčem | Ne, potřebuje heslo | Ano |
| Jump hosty a agent forwarding | Ne | Ano |
Soubory jsou nejčastější mezera. V terminálu není tlačítko pro nahrání; vložení funguje u malého textu, ale cokoli většího patří do scp nebo rsync:
$ rsync -avz --progress ./site/ root@203.0.113.10:/var/www/site/$ scp backup.sql.gz root@203.0.113.10:/root/Tunely jsou druhá. Pokud se chceš dostat k databázi, která na VDS poslouchá jen na 127.0.0.1, prohlížeč nemůže přesměrovat port na tvůj počítač; tvůj klient to umí, jak ukazuje článek o SSH tunelech. Totéž platí pro cokoli, co automatizuješ: deploy skript, zálohovací úlohu stahující soubory na tvůj stroj, konfigurační nástroj. To všechno potřebuje SSH na tvé straně.
Poslední důvod je pohodlí při dlouhém dni: vlastní písma, klávesové zkratky, klient, který se znovu připojí po uspání notebooku, a ~/.ssh/config s krátkým aliasem hostitele. Pokud si ho nastavíš, začni v článku konfigurační soubor SSH:
Host myvds HostName 203.0.113.10 User root Port 22 IdentityFile ~/.ssh/id_ed25519Zpevnění SSH a panel: kompromis#
Tohle je část, na kterou lidé přicházejí po špatné zkušenosti. Karta zdrojů i terminál v prohlížeči se přihlašují heslem, které panel k tvému VDS drží. Terminál výslovně používá ověření heslem, ne klíče. Standardní rada pro zpevnění - přejít na klíče a vypnout hesla - tak má tady důsledek.
Pokud nastavíš v /etc/ssh/sshd_config a znovu načteš sshd:
PasswordAuthentication noKbdInteractiveAuthentication nokarta zdrojů přestane se aktualizovat a terminál ohlásí, že server uložené přihlášení odmítl. S panelem není nic špatně; řekl jsi SSH, aby přestalo přijímat přesně to, čím se panel přihlašuje. Totéž se stane, když změníš heslo roota, přejmenuješ nebo zakážeš přihlašovacího uživatele, přesuneš SSH na jiný port nebo port ve firewallu zavřeš směrem ven.
Máš tři poctivé možnosti:
- Nech přihlášení heslem zapnuté a udělej heslo silné. Vygenerované heslo je dlouhé a náhodné; nech ho tak, před něj dej fail2ban a vedle něj přidej klíče pro vlastní použití. Přihlášení silným heslem a banování brute-force pokusů je rozumný postoj, ne selhání.
- Povol hesla jen z adresy panelu. Bloky
Matchv sshd umějí povolit ověření heslem pro jednu zdrojovou adresu a všem ostatním ho odmítnout. Připojení panelu se v tvém auth logu objevují se zdrojovou adresou; najdeš ji přeslast -inebojournalctl -u ssha použij ji, ne adresu, kterou jsi odhadl. - Vypni hesla a smiř se s tím, že karta a terminál přestanou fungovat. Na všechno používej vlastního klienta s klíči. Pro lidi, kteří stránku panelu nikdy neotevřou, je to naprosto dobrá volba.
Možnost dvě vypadá v praxi takto. Blok Match patří na konec souboru, protože vše za řádkem Match patří jemu:
PasswordAuthentication noKbdInteractiveAuthentication noMatch Address 198.51.100.7 PasswordAuthentication yesUkázkovou adresu nahraď adresou z vlastního logu. Před opětovným načtením otestuj pomocí sshd -t a drž při tom otevřenou druhou relaci, aby tě překlep nezamkl venku. Zbytek souboru pokrývá průvodce SSH klíči a zpevněním.
Bezpečnostní poznámky, které stojí za to znát#
Terminál v prohlížeči vyvolává oprávněné otázky. Tady je, co platí a nad čím bys přesto měl přemýšlet.
Heslo se do tvého prohlížeče nedostane. Stránka, která ukazuje tvé přihlašovací údaje, může heslo odhalit, když o to požádáš, ale samotný terminál kopii ze stránky nepoužívá. Dostane jednorázový token, který do minuty vyprší a jde uplatnit jen jednou; přihlášení probíhá na naší straně. Snímek obrazovky ani zkopírovaná adresa terminálu neprozradí nic použitelného znovu.
Kdo ho může otevřít. Terminál se otevře účtu, který vlastní objednávku VDS. Je za tvou relací v panelu, takže ochrana terminálu je ochrana tvého účtu v panelu. Zapni dvoufázové ověření s aplikací autentizátoru, ulož záložní kódy někam offline a v seznamu relací kontroluj přihlášení, která nepoznáváš. Kdo se dostane do tvého účtu v panelu, získá root shell na tvém VDS - což platí pro každý panel, který ti ukazuje heslo roota, s terminálem nebo bez něj.
Tvůj auth log bude rušný. Každé obnovení karty zdrojů je SSH přihlášení. Když máš stránku před sebou, je to úspěšné přihlášení zhruba každé 3 sekundy, které sshd zapisuje jako každé jiné. Je to očekávané, přestane to, když záložku zavřeš nebo skryješ, a je to dobrý důvod nebrat „přihlášení z neznámé adresy“ v logu jako poplach, aniž si ověříš, jestli jsi v tu dobu neměl stránku VDS otevřenou.
fail2ban a neúspěšná přihlášení. Karta se dotazuje dál, i když hlásí chybu. Pokud uložené heslo přestane sedět, je každý dotaz neúspěšným přihlášením a jail fail2ban s typickým maxretry = 5 zabanuje adresu panelu do půl minuty. O nic nepřijdeš, ale až heslo opravíš, panel zůstane vyřazený, dokud ban nevyprší nebo ho nezrušíš:
$ fail2ban-client status sshd$ fail2ban-client set sshd unbanip 198.51.100.7Přidej adresu panelu do ignoreip v jail.local, pokud chceš, aby se nikdy nebanovala.
Sdílené stroje. Používat terminál z půjčeného počítače je v pořádku, ale v tom prohlížeči jsi pořád přihlášený do panelu. Po skončení se odhlas a pokud byl stroj nedůvěryhodný, ukonči relaci v seznamu relací na stránce svého účtu.
Pořád je to root. Záložka prohlížeče dělá z rm -rf stejně nevratnou věc jako nativní klient. Čti, než stiskneš Enter, a vícerádkové příkazy vkládej opatrně - vložení, které obsahuje zatoulaný nový řádek, se spustí.
Řešení potíží s terminálem a kartou#
Většina problémů je jeden z hrstky a stránka ti řekne který.
„Could not reach the server on port 22“. Panel nemohl otevřít TCP spojení na SSH. VDS může být vypnuté nebo se restartovat, sshd nemusí běžet, nebo firewall na stroji zahazuje spojení panelu. Pokud používáš ufw, zkontroluj ufw status - pravidlo allow pro SSH omezené na tvou domácí adresu vyřadí i panel.
„The server refused the saved login details“. Stroj odpověděl, ale přihlášení odmítl: změněné heslo, PasswordAuthentication no, odstraněný uživatel, nebo PermitRootLogin změněné na prohibit-password. To poslední se snadno přehlédne, protože roota dál pustí klíčem, a tak to vypadá, že se nic nezměnilo.
„Too many attempts in a minute“. Limit 10 otevření za minutu. Počkej.
Karta říká „Paused“, ale SSH z tvého klienta funguje. Zkontroluj, jestli tvůj klient používá klíč; pokud ano, rozbitá může být právě cesta přes heslo. Zkontroluj také fail2ban, jak je popsáno výše.
Terminál se otevřel a pak ohlásil, že odkaz vypršel nebo už byl použit. Jednorázová adresa byla otevřena dvakrát nebo příliš pozdě - například stránka obnovená z historie prohlížeče. Zavři kartu a otevři ji znovu.
Shell vykresluje prompt přes sebe. Obvykle vzdálený shell, který nedostal novou velikost okna. Spusť reset, nebo kartu zavři a otevři znovu ve velikosti, kterou chceš.
FAQ#
Je terminál v prohlížeči méně bezpečný než můj vlastní SSH klient?
Spojení s tvým VDS je v obou případech SSH. Rozdíl je v tom, kde heslo žije: u tvého klienta na tvém stroji, u terminálu v prohlížeči v panelu, za tvým přihlášením do panelu. Pokud má tvůj účet v panelu 2FA a silné heslo, hlavní riziko je to samé, které už přijímáš tím, že je heslo roota zobrazené na stránce.
Můžu se v terminálu v prohlížeči přihlásit SSH klíčem?
Ne. Přihlašuje se uloženým heslem k tvému VDS. Pokud chceš přístup jen klíčem, použij vlastního klienta, nebo povol hesla jen z adresy panelu pomocí bloku Match Address, aby fungovalo obojí.
Proč mi auth log ukazuje přihlášení každých pár sekund?
To je živá karta zdrojů. Každé obnovení je jedno SSH přihlášení, které spouští příkaz jen pro čtení nad /proc a df. Přestane to, když stránku zavřeš nebo přepneš na jinou záložku.
Zastaví zavření záložky prohlížeče můj běžící příkaz?
Ano, shell skončí a programy v popředí dostanou hangup. Dlouhé úlohy spouštěj uvnitř tmux nebo screen, nebo je spusť jako službu systemd, a poběží dál i bez záložky.
Můžu vidět víc než dvě minuty historie?
Na kartě ne. Drží posledních 40 měření ve tvé záložce a na serveru nic. Pro historii a upozornění spusť monitorovacího agenta přímo na VDS.
Co když tlačítko Open terminal nevidím?
Terminál se zapíná pro každý panel zvlášť a tlačítko se objeví jen tam, kde je zapnutý. Karta zdrojů a SSH příkaz na stránce dál fungují; připoj se vlastním klientem.


