Úvod do SSH a klíčů
Protokol SSH, neboli Secure Shell, představuje klíčový nástroj pro zabezpečenou komunikaci se vzdálenými systémy. Umožňuje uživatelům bezpečně přistupovat k terminálu a vzdáleně spravovat počítače. Využití tohoto protokolu minimalizuje riziko odposlechu a neoprávněného přístupu.
SSH klíče, skládající se z páru soukromého a veřejného klíče, představují efektivní alternativu k tradičnímu ověřování pomocí hesla. Soukromý klíč je uložen lokálně na uživatelově zařízení a slouží k identifikaci uživatele při připojování k serveru. Veřejný klíč je naopak uložen na serveru a slouží k ověření identity uživatele, který se připojuje. Tím se zvyšuje bezpečnost celého procesu.
Tento manuál vás provede procesem nastavení SSH klíčů na operačním systému Rocky Linux 9. Zaměříme se na generování klíčů, nahrávání veřejného klíče na server a konfiguraci SSHd služby, která zaručí bezpečné spojení.
Generování SSH klíčů krok za krokem
1. Spuštění terminálu: Na zařízení, ze kterého se plánujete připojovat k serveru, otevřete terminál.
2. Vytvoření páru klíčů: Pomocí následujícího příkazu vygenerujte klíčový pár:
ssh-keygen -t rsa -b 4096 -C "vas.email@priklad.cz"
* -t rsa
: Určuje, že bude použit algoritmus RSA, který je široce rozšířený a považuje se za bezpečný.
* -b 4096
: Definuje délku klíče na 4096 bitů, což je v současnosti považováno za adekvátní úroveň zabezpečení.
* -C "vas.email@priklad.cz"
: Umožňuje přidat komentář, který je užitečný pro identifikaci klíče. Zde můžete použít svou emailovou adresu.
3. Volba umístění klíče: Systém vás vyzve k zadání cesty, kam mají být klíče uloženy. Pokud necháte pole prázdné, klíče se uloží do standardního adresáře (~/.ssh/).
4. Zabezpečení klíče heslem (passphrase): Dále budete vyzváni k zadání hesla (passphrase), které chrání váš soukromý klíč. Zadejte heslo, které si dobře zapamatujete a které je dostatečně silné, nebo stiskněte Enter, pokud nechcete heslo používat. Toto heslo budete muset zadat pokaždé, když budete používat soukromý klíč. Použití hesla zvyšuje bezpečnost klíče a doporučuje se.
Důležité: Pokud jste neurčili vlastní cestu, soukromý klíč bude uložen v souboru id_rsa
a veřejný klíč v souboru id_rsa.pub
v adresáři ~/.ssh.
Přidání veřejného klíče na server
1. Přihlášení k serveru: Přihlaste se na server tradičním způsobem pomocí uživatelského jména a hesla.
2. Přístup k veřejnému klíči: Otevřete soubor s veřejným klíčem (id_rsa.pub
), který jste vygenerovali v předchozím kroku.
3. Vložení klíče do authorized_keys: Zkopírujte obsah veřejného klíče do souboru authorized_keys
, který se nachází v adresáři .ssh
vašeho uživatelského účtu na serveru. Pro automatické vložení můžete použít tento příkaz:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4. Nastavení oprávnění: Zkontrolujte, zda má adresář .ssh
a soubor authorized_keys
správná oprávnění:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Konfigurace SSHd služby
1. Kontrola konfigurace: Otevřete konfigurační soubor sshd_config
, který se nachází v adresáři /etc/ssh/
, a zkontrolujte, zda jsou nastaveny tyto parametry:
* Port 22: Standardní port pro SSH je 22. Změna portu může zvýšit bezpečnost, upravte Port 22
na jiné číslo, pokud to požadujete.
* PasswordAuthentication yes: Pro povolení ověřování pomocí hesla musí být PasswordAuthentication
nastaveno na yes
. Pro zvýšení bezpečnosti se doporučuje používat ověřování klíčem a ne heslem. Nastavením na no
heslové přihlášení zakážete.
* PermitRootLogin yes: Umožnění přihlášení uživatele root, nastavte PermitRootLogin
na yes
. Z bezpečnostního hlediska se doporučuje přístup root zakázat a používat běžný uživatelský účet s právy sudo. Lze nastavit PermitRootLogin no
.
2. Restartování SSHd: Po provedení změn v konfiguračním souboru je nutné restartovat SSHd službu, aby se změny projevily:
systemctl restart sshd
Připojení pomocí SSH klíče
1. Otevřete terminál: Spusťte terminál na počítači, ze kterého se budete připojovat k serveru.
2. Použijte SSH příkaz: Spusťte příkaz SSH s vaším uživatelským jménem a IP adresou (nebo názvem domény) serveru:
ssh vase_uzivatelske_jmeno@ip_adresa_serveru
3. Zadejte passphrase: Pokud jste nastavili heslo pro soukromý klíč, budete k němu vyzváni.
Bezpečnostní doporučení
- Silné heslo: Pro ochranu soukromého klíče použijte silné heslo skládající se z minimálně 12 znaků včetně velkých a malých písmen, číslic a symbolů.
- Bezpečné uložení klíčů: Udržujte soukromý klíč v bezpečí a chraňte ho před neoprávněným přístupem.
- Obnova klíčů: Pokud ztratíte soukromý klíč, musíte vygenerovat nový pár klíčů a nahrát nový veřejný klíč na server.
- Pravidelná kontrola: Důkladně kontrolujte zabezpečení vašeho serveru a aktualizujte software.
Závěr
V tomto článku jsme si podrobně popsali, jak nastavit SSH klíče na Rocky Linux 9. Nastavení SSH klíčů je klíčové pro bezpečné spojení se serverem a pro efektivní administraci. Nezapomínejte na bezpečnostní doporučení a pravidelně kontrolujte konfiguraci svého systému.
Často kladené dotazy
- Co když zapomenu heslo (passphrase) pro soukromý klíč? Zapomenuté heslo znemožní použití klíče. V takovém případě musíte vygenerovat nový pár klíčů a veřejný klíč nahrát na server.
- Je možné používat SSH bez hesla (passphrase)? Ano, ale nedoporučuje se to. Bez hesla je klíč zranitelnější. Pokud se rozhodnete heslo nepoužít, zajistěte, aby byl váš soukromý klíč dobře chráněn.
- Jaké jsou další typy klíčů SSH? Kromě RSA existují například klíče ECDSA, které jsou založeny na eliptické křivce a jsou považovány za bezpečnější alternativu.
- Jak se mohu připojit k serveru s více uživatelskými účty? Pro každého uživatele vygenerujte samostatný pár klíčů a veřejný klíč přidejte do souboru
authorized_keys
příslušného uživatele. - Jak sdílet přístup s ostatními uživateli? Vygenerujte veřejný klíč pro každého uživatele a přidejte ho do souboru
authorized_keys
na serveru. - Lze SSHd nakonfigurovat pro jiný port? Ano, v konfiguračním souboru
sshd_config
je možné nastavit libovolný port. - Jak zakázat přístup na server pomocí hesla? Nastavte
PasswordAuthentication
nano
v konfiguračním souborusshd_config
. - Jak změnit oprávnění pro adresář
.ssh
a souborauthorized_keys
? Použijte příkazchmod
s příslušnými čísly oprávnění. - Jak ověřit, že je SSHd služba spuštěna? Použijte příkaz
systemctl status sshd
. - Jak smazat klíčový pár? Smažte soubory
id_rsa
aid_rsa.pub
z adresáře.ssh
.
Tagy: SSH, Rocky Linux 9, zabezpečení, bezpečnost, klíče SSH, přístup k serveru, administrace, terminál, generování klíčů, konfigurace, SSHd, bezpečnostní tipy