Úvod
Odstranění SSH klíče v Linuxu je kritický krok, který obvykle provádíme, když chceme smazat nebo změnit SSH klíč. Můžeme mít potřebu zrušit klíče z důvodu zvýšení bezpečnosti našich SSH připojení nebo přechodu na novou konfiguraci zabezpečení SSH. V tomto článku se podíváme na to, jakými způsoby lze odstranění SSH klíče provádět, jaké výhody či nevýhody to přináší, a prozkoumáme také možné alternativní řešení. Na závěr se dotkneme často kladených dotazů.
1. Co je SSH klíč a proč je třeba ho odstranit?
SSH (Secure Shell) je protokol a sada nástrojů, které umožňují bezpečné připojení k vzdáleným serverům. Metoda „autentizace na základě klíčů“ nabízí bezpečné a praktické používání. Odstranění klíče v Linuxu může být nutné v následujících případech:
- Bezpečnost: Pokud máte podezření, že byl váš klíč prozrazen nebo byl vytvořen s neaktuálními algoritmy.
- Změna uživatele: V situacích, jako je předání serveru, přidání nového člena do týmu, nebo zrušení přístupu odborníka, který projekt opustil.
- Nová konfigurace: Vytvoření klíčů pro silnější algoritmy (např. Ed25519) nebo pro jinou bezpečnostní konfiguraci SSH.
Odstranění SSH klíče není důležité jen v rizikových situacích, ale může být také součástí pravidelné bezpečnostní politiky. Smazání nevyužívaných nebo nepotřebných klíčů snižuje možné vektory kybernetických útoků.
2. Základní kroky pro odstranění SSH klíče
Odstranit SSH klíč nebo ho zrušit obvykle vyžaduje kontrolu dvou různých míst:
- Odstranění klíčů na místním počítači: Obvykle zahrnuje odstranění soukromých (private) a veřejných (public) klíčů v adresáři
~/.ssh/. - Odstranění zaregistrovaných klíčů na vzdáleném serveru: Uložení řádků v souboru
~/.ssh/authorized_keysbude třeba odstranit na straně serveru.
Tyto dvě operace by měly být provedeny synchronně. I když odstraníte místní klíč, pokud informace na serveru zůstávají, může být riskantní v případě, že útočník ovládne serverovou verzi klíče.
2.1 Odstranění lokálního klíče
Na systémech Linux nebo macOS se páry SSH klíčů obvykle nacházejí ve složce ~/.ssh. Příklady:
~/.ssh/id_rsa(soukromý klíč)~/.ssh/id_rsa.pub(veřejný klíč)~/.ssh/id_ed25519(soukromý klíč)~/.ssh/id_ed25519.pub(veřejný klíč)
Při odstraňování je třeba být opatrný. Pokud byly názvy přizpůsobeny (mycustomkey apod.), musíte správně identifikovat soubory. Příklad příkazu je následující:
cd ~/.ssh/
rm id_rsa id_rsa.pub
# nebo
rm id_ed25519 id_ed25519.pub
Pokud přecházíte na nový projekt nebo s novým uživatelským profilem, stačí tyto soubory odstranit. Nicméně pokud pracujete s více klíči na jednom serveru, musíte být opatrní, abyste neodstranili nesprávný soubor.

2.2 Odstranění klíče z vzdáleného serveru
Při přesunu k odstranění SSH klíče v Linuxu musíte na serveru smazat řádek uživatele, se kterým se připojujete, v souboru ~/.ssh/authorized_keys. Můžete provést následující postup:
# Přihlašte se na server.
ssh [email protected]
# Poté přejděte do své domovské složky a otevřete soubor authorized_keys
nano ~/.ssh/authorized_keys
# Najděte řádek, který chcete odstranit, a odstraňte ho.
Příklad, obsah id_rsa.pub se zobrazuje jako dlouhý řádek v souboru authorized_keys. Identifikujte řádek, který chcete odstranit, a kompletně ho odstraňte. Jakmile uložíte a výjdete, klíč ztratí přístup na server.
2.3 Zvláštní metoda: reverzní akce s ssh-copy-id
ssh-copy-id se běžně používá na přidání klíče. Nicméně nenabízí možnost „odebrání“, což učiní proces složitým. I tak se klíče přidané pomocí ssh-copy-id shodují se specifickými řádky v souboru authorized_keys, což vyžaduje manuální vymazání těchto řádků. Přímo tedy není podporován příkaz jako ssh-copy-id -r pro odstranění. Měli byste použít textový editor či skript pro vyčištění souboru authorized_keys.
3. Výhody a nevýhody odstranění SSH klíče v Linuxu
Před provedením operace je dobré zvážit klady a zápory, abyste předešli problémům. Zde jsou výhody a nevýhody procesu odstranění klíče:
3.1 Výhody
- Zvýšení bezpečnosti: Zrušením nepoužívaných nebo potenciálně ohrožených starých klíčů můžete snížit povrch útoku.
- Jednoduché řízení: Snadno ukončíte přístup opouštějících členů týmu, což zvyšuje správnost systému.
- Pravidelná aktualizace: Pravidelným odstraněním a obnovením zajišťujete soustavné používání moderních šifrovacích algoritmů.
3.2 Nevýhody
- Chybná eliminace klíče: Smazání nesprávného souboru nebo řádku může způsobit ztrátu přístupu k systémům.
- Dočasná ztráta přístupu: Nezkušené uživatelé mohou mít potíže s opětovným připojením během procesu.
- Náklady na pracovní sílu: Správa tohoto procesu na mnoha serverech nebo uživatelích může zabrat spoustu času.
Proto je nezbytné brát v úvahu nejen výhody, ale i nečekaná rizika a provádět procesy plánovaně a opatrně.
4. Alternativy a další metody
Kromě odstranění SSH klíčů existují i jiné přístupy. Tato sekce může přinést výhody v některých specifických scénářích:
4.1 Aktualizace passphrase
Pokud se chcete zaměřit pouze na změnu hesla pro klíč v konfiguraci zabezpečení SSH, použijte příkaz ssh-keygen -p pro obnovu passphrase. Tím zvýšíte úroveň zabezpečení, aniž byste museli klíč zcela odstranit.
4.2 Seznam zrušených klíčů (KRL)
Ve verzích OpenSSH 6.2 a vyšších existuje možnost Seznam zrušených klíčů (KRL). Tímto způsobem můžete na serveru udržovat seznam, které klíče jsou neplatné nebo které certifikáty se akceptovat nebudou. KRL lze vytvořit pomocí příkazů jako ssh-keygen -k -f revoked_keys a SSH může být nakonfigurováno na základě tohoto seznamu.
4.3 Zablokování pomocí konfiguračního souboru SSH
Na serveru je možné v souboru /etc/ssh/sshd_config některé parametry nastavit tak, aby blokovaly uživatelské nebo specifické typy klíčů. Například můžete povolit pouze klíčové přístupy pomocí PasswordAuthentication no, zároveň můžete vytvořit jiné politiky pro DMZ nebo testovací systémy. Toto však představuje metodu, která mění celkový přístupový protokol namísto odstranění klíče.
5. Praktické příklady a tipy
Pojďme se podívat na několik příkladů, jak postupovat:
- Příklad vývojového týmu: Máte 5členný tým. Pro odcházejícího člena stačí odstranit pouze jeho řádek ze souboru
authorized_keys. Dále by měl být odstraněn také jeho lokální private key. - Předání serveru: Při změně infrastruktury zrušíte všechny SSH klíče na starém serveru a na novém serveru použijete pouze aktuální klíče. Tento způsob zajišťuje, že zranitelnosti odpojených systémů se nepřenesou zpět.
- Aktualizace pro naléhavou situaci: Pokud prozradíte klíč nebo máte podezření, že byl ukraden, neváhejte se postavit odstranění SSH klíče v Linuxu, abyste zamezili neoprávněnému přístupu. Poté vytvořte nový klíč a přidejte ho do systému pro zpětné připojení.
Tyto příklady ukazují, jak rozhodnutí o odstranění klíče může být v různých měřítkách a situacích životně důležité.
6. Důležité odkazy
Pokud potřebujete podrobnější informace o SSH, můžete najít veškerou dokumentaci na oficiální stránce OpenSSH (DoFollow).
Také můžete navštívit naši kategorii Linux, kde najdete různé příklady konfigurací.
7. Shrnutí a závěr
Odstranění SSH klíče v Linuxu je jedním z nejdůležitějších kroků z hlediska bezpečnosti a správy. Můžete mít důvody pro smazání SSH klíče, jako jsou bezpečnostní porušení, změny týmu nebo potřeba udržet pořádek. Proces se obvykle skládá ze dvou etap: vyčistit vaše lokální klíče a odstranit příslušné řádky v souboru authorized_keys na serveru.
Během této fáze je doporučeno chovat se opatrně, spravovat své zabezpečovací protokoly SSH písemnou politikou a zajišťovat koordinaci v týmu. Používání moderních kryptografických metod, pravidelné kontroly a deaktivační nevyužívané klíče představují významnou ochranu proti kybernetickým útokům. Nezapomeňte, že malá chyba může otevřít dveře k velkému narušení dat.
Často kladené dotazy (FAQ)
1. Musím být přihlášen do systému, abych mohl odstranit SSH klíč?
Obecně ano. Abyste mohli odstranit SSH klíč, musíte mít přístup na server. Pokud máte otevřenou relaci, můžete upravit soubor authorized_keys a na místním počítači smazat soubory v ~/.ssh. Nicméně pokud máte přístup jinou metodou (například přes root konzoli), můžete také provádět změny bez nutnosti být přihlášen.
2. Co mám dělat po odstranění SSH klíče k opětovnému připojení?
Pokud jste smazali starý klíč, už s ním nebude možné se připojit. Pokud plánujete novou konfiguraci zabezpečení SSH, musíte vytvářet nové klíče pomocí ssh-keygen a přidat veřejný klíč do souboru authorized_keys na serveru.
3. Používám stejný klíč na více serverech, měl bych ho odstranit ze všech?
Ano, pokud chcete klíč zcela deaktivovat, měli byste smazat záznamy ze všech serverů authorized_keys. Jinak by mohlo být možné získat přístup na jiné servery.