Přejít k obsahu
BeoHosting
BeoHosting
Technické

Jak používat SSH ke správě serveru

BeoHosting Team··12 min čtení čtení
Jak používat SSH ke správě serveru

Co je SSH a proč je důležité

SSH (Secure Shell) je síťový protokol, který umožňuje bezpečnou komunikaci mezi dvěma počítači přes nezabezpečenou síť. V kontextu webhostingu vám SSH umožňuje připojit se k serveru a spravovat ho přes příkazovou řádku – instalovat software, upravovat konfigurační soubory, restartovat služby, prohlížet logy a provádět všechny administrativní úkoly.

Před příchodem SSH používali administrátoři protokol Telnet, který posílal všechna data (včetně hesel) v nešifrované podobě. SSH nahradil Telnet tím, že přineslo šifrování do celé komunikace, což znamená, že nikdo, kdo odposlouchává síťový provoz, nevidí, co na serveru děláte, ani nemůže ukrást vaše přístupové údaje.

SSH funguje na principu architektury klient–server. Váš počítač (klient) spouští program SSH klienta, který se připojuje k SSH serveru (daemonu) běžícímu na vzdáleném serveru, obvykle na portu 22. Po autentizaci získáte přístup k příkazové řádce serveru, jako byste seděli přímo před ním.

SSH klienti

K připojení k serveru přes SSH potřebujete na svém počítači program SSH klienta.

Linux a macOS – Terminál

Linux a macOS mají vestavěného SSH klienta. Otevřete aplikaci Terminál a použijte příkaz: ssh uzivatel@ip-adresa-serveru. Například: ssh root@185.210.45.67. Systém si vyžádá vaše heslo (nebo použije SSH klíč, pokud je nakonfigurován). Po úspěšné autentizaci uvidíte příkazový řádek serveru a můžete začít pracovat.

Windows – PuTTY

PuTTY je nejoblíbenější bezplatný SSH klient pro Windows. Stáhněte si ho z oficiálního webu (putty.org) a spusťte. Do pole „Host Name“ zadejte IP adresu serveru, ponechte port 22, jako typ připojení vyberte „SSH“ a klikněte na „Open“. Objeví se okno terminálu s výzvou k zadání uživatelského jména a hesla.

Windows 10/11 – vestavěné SSH

Novější verze Windows (10 a 11) jsou dodávány s vestavěným klientem OpenSSH. Otevřete PowerShell nebo Příkazový řádek a použijte stejný příkaz ssh jako v Linuxu. Je to jednodušší přístup než PuTTY, protože nevyžaduje instalaci dalšího softwaru a používá stejné rozhraní jako Linux/macOS.

Pokročilí klienti

Pro uživatele, kteří denně pracují s více servery, nabízejí pokročilí klienti jako Termius, MobaXterm nebo Royal TSX další funkce: ukládání připojení, SFTP správce souborů, karty pro více relací, správce úryvků kódu a integraci s cloudovými platformami.

Základní konfigurace SSH

Správná konfigurace SSH připojení vám šetří čas a zlepšuje zabezpečení.

Konfigurační soubor SSH

V Linuxu a macOS můžete vytvořit soubor ~/.ssh/config, který ukládá nastavení vašich serverů. Místo abyste pokaždé psali celý příkaz s IP adresou, uživatelským jménem a portem, můžete definovat aliasy. Můžete například definovat alias „mujserver“ s parametry Host, HostName (IP adresa), User (uživatelské jméno), Port a IdentityFile (cesta k SSH klíči). Poté stačí napsat ssh mujserver a vše se použije automaticky.

Změna výchozího portu

SSH ve výchozím nastavení používá port 22. Změna na jiný port (například 2222 nebo jiný nestandardní port) snižuje počet automatizovaných útoků, protože většina botů skenuje pouze port 22. Není to skutečné bezpečnostní opatření (bezpečnost spočívající v utajení), ale efektivně snižuje „šum“ v logech. Port změníte v souboru /etc/ssh/sshd_config na serveru.

Autentizace pomocí SSH klíčů

Autentizace pomocí klíčů je bezpečnější a pohodlnější než používání hesel. Místo zapamatování a zadávání hesla pokaždé znovu používáte kryptografický pár klíčů.

Jak to funguje

Pár SSH klíčů se skládá ze soukromého klíče (který zůstává na vašem počítači a nikdy se nesdílí) a veřejného klíče (který se umisťuje na server). Při připojení server pošle výzvu, kterou dokáže vyřešit pouze vlastník soukromého klíče. Váš SSH klient použije soukromý klíč k podepsání, server ověří podpis pomocí veřejného klíče, a pokud se shodují, autentizace je úspěšná. Heslo se po síti nikdy nepřenáší.

Generování klíče

V Linuxu a macOS použijte ke generování klíče příkaz ssh-keygen. Doporučujeme algoritmus Ed25519, který je moderní, rychlý a bezpečný. Příkaz se zeptá, kam klíč uložit (výchozí ~/.ssh/id_ed25519) a zda chcete passphrase (dodatečné heslo chránící klíč – doporučeno). Vytvoří se dva soubory: soukromý klíč a veřejný klíč s příponou .pub.

Umístění veřejného klíče na server

Veřejný klíč by se měl zkopírovat na server do souboru ~/.ssh/authorized_keys uživatele, pod kterým se připojujete. Nejjednodušší způsob je příkaz ssh-copy-id, který automaticky zkopíruje váš veřejný klíč na server. Případně můžete obsah souboru .pub přidat do authorized_keys na serveru ručně.

Zakázání hesla

Jakmile ověříte, že SSH klíče fungují, doporučuje se na serveru zakázat autentizaci heslem úpravou souboru sshd_config a nastavením PasswordAuthentication na no. To výrazně zvyšuje bezpečnost, protože boti nemohou heslo uhodnout – jediným způsobem přístupu je vlastnictví soukromého klíče.

Nejdůležitější SSH příkazy

Zde jsou příkazy, které budete na serveru používat nejčastěji.

Navigace a soubory

  • ls -la: Vypíše soubory v adresáři s podrobnými informacemi (oprávnění, vlastník, velikost, datum).
  • cd /cesta/k/adresari: Změní aktivní adresář.
  • pwd: Zobrazí aktuální adresář.
  • cat soubor.txt: Zobrazí obsah souboru v terminálu.
  • nano soubor.txt: Otevře soubor v editoru nano pro úpravu. Ctrl+O pro uložení, Ctrl+X pro ukončení.
  • cp zdroj cil: Zkopíruje soubor. Přidejte -r pro adresáře.
  • mv zdroj cil: Přesune nebo přejmenuje soubor či adresář.
  • rm soubor: Smaže soubor. rm -rf adresar smaže adresář se vším obsahem (s tímto příkazem buďte opatrní!).
  • chmod 755 soubor: Změní oprávnění souboru (755 = vlastník vše, skupina/ostatní čtení a spuštění).
  • chown uzivatel:skupina soubor: Změní vlastnictví souboru.

Systém a služby

  • top nebo htop: Zobrazí aktivní procesy a využití prostředků (CPU, RAM) v reálném čase.
  • df -h: Zobrazí využití disku v čitelné podobě.
  • free -h: Zobrazí využití paměti (RAM).
  • systemctl status nginx: Zobrazí stav služby (nginx, mysql, php-fpm atd.).
  • systemctl restart nginx: Restartuje službu.
  • journalctl -u nginx -f: Sleduje logy služby v reálném čase.
  • tail -f /var/log/syslog: Sleduje systémový log v reálném čase.

Síť

  • ping domena.cz: Otestuje spojení se serverem nebo doménou.
  • curl -I https://domena.cz: Zobrazí HTTP hlavičky webu (užitečné pro kontrolu přesměrování a hlaviček).
  • netstat -tulpn: Zobrazí všechna aktivní síťová spojení a naslouchající porty.
  • dig domena.cz: DNS dotaz, který zobrazí DNS záznamy domény.

Přenos souborů

Protokol SSH umožňuje také bezpečný přenos souborů mezi vaším počítačem a serverem.

SCP (Secure Copy)

SCP používá SSH ke kopírování souborů. K nahrání souboru na server použijte scp lokalni_soubor uzivatel@server:/cesta/na/serveru. Ke stažení ze serveru použijte scp uzivatel@server:/cesta/na/serveru/soubor ./lokalni_adresar. Pro kopírování celých adresářů přidejte přepínač -r. SCP je jednoduché, ale nenabízí pokročilé funkce jako obnovení přerušených přenosů.

SFTP (SSH File Transfer Protocol)

SFTP je interaktivní protokol pro přenos souborů, který běží přes SSH. Můžete ho použít z terminálu příkazem sftp uzivatel@server nebo přes grafické klienty jako FileZilla, WinSCP či Cyberduck. SFTP nabízí navigaci v adresářích, procházení souborů, nahrávání/stahování s obnovením přerušených přenosů a správu oprávnění – to vše přes bezpečné SSH spojení.

rsync

rsync je pokročilejší nástroj pro synchronizaci souborů, který přenáší pouze změny (delta) namísto celých souborů. Je ideální pro zálohování a synchronizaci velkých objemů dat. Příkaz rsync -avz --progress zdroj uzivatel@server:/cil synchronizuje lokální adresář se serverovým a přenáší pouze změněné soubory. rsync rovněž podporuje kompresi během přenosu a obnovení přerušených operací.

Bezpečnostní doporučení pro SSH

  • Používejte SSH klíče: Vždy upřednostněte klíče před hesly. Po nastavení klíčů zakažte autentizaci heslem.
  • Omezte přístup: Použijte AllowUsers nebo AllowGroups v sshd_config k omezení toho, kteří uživatelé mají k SSH přístup.
  • Fail2ban: Nainstalujte fail2ban, který automaticky blokuje IP adresy po určitém počtu neúspěšných pokusů o přihlášení.
  • Pravidelně aktualizujte: Udržujte SSH server (OpenSSH) aktuální, protože bezpečnostní zranitelnosti se občas objevují a opravují.
  • Chraňte soukromý klíč: Nikdy soukromý klíč nesdílejte. Nastavte na klíč passphrase. Uchovávejte zálohu na bezpečném místě.
  • Zakažte přístup root: Nastavte PermitRootLogin na no nebo prohibit-password a pro administrativní úkoly používejte sudo.

Závěr

SSH je základní nástroj pro správu serveru a každý majitel VPS nebo dedikovaného serveru by se měl naučit základní SSH příkazy. Začněte jednoduchými úkoly jako prohlížení logů a restartování služeb, poté postupně přejděte k pokročilým konfiguracím jako SSH klíče a nastavení firewallu. S praxí se příkazová řádka stává rychlejší a efektivnější než jakékoli grafické rozhraní. V BeoHosting všechny naše VPS tarify zahrnují SSH přístup a plnou root kontrolu a náš tým podpory je vždy k dispozici, aby vám pomohl s konfigurací a nastavením zabezpečení.

BeoHosting Team

10+ let zkušeností — Specialisté na webhosting a infrastrukturu

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Naposledy aktualizováno: