Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| navody:server:ssh [2014/11/05 10:24] – Page moved from server:ssh to navody:server:ssh admin | navody:server:ssh [2026/08/16 18:56] (aktuální) – Přirozenější znění návodů, lokalizace ukázek a doplnění týdenního vyzkoušení VPS aither | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| + | < | ||
| + | |||
| ====== SSH ====== | ====== SSH ====== | ||
| - | ===== Co je to? ===== | + | SSH poskytuje šifrovaný vzdálený terminál a bezpečný přenos souborů. Na VPS se |
| + | obvykle připojíš jako uživatel '' | ||
| - | SSH je univerzální komunikační protokol umožňující **šifrované** a **oboustranně ověřené** připojení k serveru. Nejčastěji se používá pro zpřístupnění vzdáleného terminálu (příkazové řádky) nebo přenosu souborů. Pokud se chcete připojit ke svému serveru a provádět na něm jakékoliv administrátorské zásahy, budete potřebovat správně nakofigurované SSH. | + | <code bash> |
| + | ssh root@ADRESA_VPS | ||
| + | </ | ||
| - | ===== Konfigurace ===== | + | Aktuální IP adresy najdeš v detailu VPS ve vpsAdminu: |
| - | /etc/ssh/ | + | {{: |
| - | Měli bychom dodržovat zásadu že co není povoleno, je zakázáno | + | ===== Ověření klíče serveru ===== |
| - | ====== | + | Při prvním připojení zobrazí SSH otisk hostitelského klíče serveru. |
| + | < | ||
| + | porovnej otisk s tabulkou **Hostitelské klíče SSH**.</ | ||
| + | když se otisky shodují. Ověření brání tomu, aby ses připojil k jinému serveru, | ||
| + | který se za tvoji VPS pouze vydává. | ||
| - | '' | + | {{: |
| - | v systému můžeme mít mnoho uživatelů a někteří mohou mít slabé heslo apod., tímto nastavením umožníme přihlásit se jen explicitně uvedeným uživatelům | + | Po přeinstalaci VPS nebo úmyslném vygenerování nových hostitelských klíčů se |
| + | otisk změní. Starý záznam odstraň až po ověření důvodu změny a nového otisku: | ||
| - | za jméno můžeme přidat i omezení na IP adresu: | + | <code bash> |
| + | ssh-keygen -R ADRESA_VPS | ||
| + | </ | ||
| - | '' | + | Nevysvětlené varování o změně hostitelského klíče neobcházej vypnutím jeho |
| + | kontroly. | ||
| - | ====== Zakázaní roota s heslem ====== | + | ===== Přihlašování veřejným klíčem |
| - | '' | + | Veřejný klíč je pro běžné přihlašování vhodnější než heslo. Soukromá část |
| + | zůstává na tvém počítači; | ||
| + | klíč použij Ed25519 a nastav mu silnou přístupovou frázi: | ||
| - | ====== Zakáz přihlašování heslem ====== | + | <code bash> |
| + | ssh-keygen -t ed25519 -a 64 -C " | ||
| + | </ | ||
| - | '' | + | Výchozí umístění klíče je '' |
| + | soukromý klíč při ztrátě nebo napadení počítače. Abys ji nemusel zadávat při | ||
| + | každém přihlášení, | ||
| - | ====== Restrikce | + | Nová VPS dovoluje první |
| + | nahraj přímo: | ||
| - | vim /etc/ | + | <code bash> |
| + | ssh-copy-id root@ADRESA_VPS | ||
| + | </code> | ||
| - | '' | + | < |
| + | Při jeho přidání můžeš zvolit automatické nahrávání do nových a | ||
| + | přeinstalovaných VPS. Otevři **Upravit profil → Veřejné klíče → Přidat veřejný | ||
| + | klíč** a vlož obsah souboru | ||
| + | '' | ||
| - | vim /etc/hosts.allow | + | {{: |
| - | '' | + | V detailu běžící VPS je také formulář pro dodatečné nahrání některého z |
| + | uložených veřejných klíčů: | ||
| + | {{: | ||
| - | ====== Přihlášení pomocí | + | Každý klíč, který už nepoužíváš nebo jehož soukromá část mohla uniknout, odstraň |
| + | ze serverů. < | ||
| + | Veřejné klíče** jej odstraň také z vpsAdminu.</ | ||
| - | Nejprve je potřeba si vygenrovat soukromný a veřejný klíč pomocí PuTTYgen. Vygenerujeme si SSH-2 RS 1024 bitové klíče. | + | ===== Přístup uživatele root ===== |
| - | Nyní vyplníme údaje o klíči (komentář a passphrase) a uložíme si soukromný klíč do pc. | + | Šablony vpsFree ve výchozím nastavení dovolují přihlášení uživatele '' |
| + | přes SSH. Je to praktické pro první přihlášení, | ||
| + | uživatele '' | ||
| - | Na serveru si vytvoříme složku s právy 700: | + | Přímé přihlášení roota můžeš ponechat, ale povolit ho jen veřejným klíčem. V |
| + | konfiguraci '' | ||
| - | '' | + | < |
| - | '' | + | PubkeyAuthentication yes |
| + | PermitRootLogin prohibit-password | ||
| + | PasswordAuthentication no | ||
| + | KbdInteractiveAuthentication no | ||
| + | </code> | ||
| + | Nastavení bývá v ''/ | ||
| + | ''/ | ||
| + | kterém je '' | ||
| + | '' | ||
| - | Zkopírujeme si veřejný klíč | + | Pokud přímé přihlášení roota nechceš vůbec, vytvoř běžný účet se '' |
| + | Nejprve ověř jeho klíč a funkční '' | ||
| + | '' | ||
| + | distribuce. Přímé | ||
| + | nefunguje. | ||
| - | '' | + | Na NixOS nepiš do generovaného |
| + | '' | ||
| + | [[https:// | ||
| - | '' | + | ===== Bezpečný postup změny konfigurace ===== |
| - | Nyní se můžeme přihlásit pomocí PuTTY a soukromého klíče, který zadáme v sekci SSH -> Auth. | + | Chyba v nastavení SSH tě může |
| + | - Nech otevřené původní funkční SSH spojení a změny prováděj v něm. | ||
| + | - V druhém terminálu nejprve ověř, že se přihlásíš novým klíčem. Pro cílený test můžeš použít:< | ||
| + | - Teprve potom vypni přihlašování heslem nebo přístup roota. | ||
| + | - Před načtením změn zkontroluj syntaxi a výsledné hodnoty:< | ||
| + | sshd -T | grep -E ' | ||
| + | - Pokud kontrola nehlásí chybu, načti konfiguraci bez ukončení běžících spojení:< | ||
| + | - Otevři úplně nové SSH spojení, vyzkoušej přihlášení i '' | ||
| - | Pokud chceme zakázat přihlašování pomocí hesla přes SSH, změníme | + | Příkaz '' |
| + | selže, konfiguraci | ||
| - | '' | + | ===== Když se odřízneš ===== |
| - | Protocol | + | |
| - | PasswordAuthentication no | + | Pokud nové SSH spojení nefunguje, **nezavírej původní relaci**. Vrať změnu, |
| - | UsePAM no | + | spusť |
| - | [...]'' | + | [[navody: |
| + | |||
| + | Když už žádná SSH relace nezůstala, návod ke [[navody: | ||
| + | konzoli ve vpsAdminu]] tě provede obnovením přístupu. Konzole funguje nezávisle | ||
| + | na SSH i síťovém firewallu. Během restartu se v ní objeví | ||
| + | [[navody: | ||
| + | přímo ve VPS, takže konfiguraci opravíš bez přihlášení přes SSH. | ||
| + | |||
| + | Pokud běžný systém stále běží a v konzoli se můžeš přihlásit, | ||
| + | konfiguraci, | ||
| + | |||
| + | <code bash> | ||
| + | sshd -t | ||
| + | systemctl restart sshd 2>/ | ||
| + | </ | ||
| + | |||
| + | V prostředí **Run shell** neběží systemd, takže v něm '' | ||
| + | Obnov funkční konfiguraci, | ||
| + | **Start system**. Potom vyzkoušej nové SSH spojení. Vzdálená konzole je pro | ||
| + | takovou opravu určená, takže se nemusíš bát ji použít. | ||
| + | |||
| + | ===== Další dokumentace ===== | ||
| + | |||
| + | * [[https://man.openbsd.org/ | ||
| + | * [[https:// | ||
| + | * [[https:// | ||