Bevezetés
A Linux SSH kulcs eltávolítása fontos feladat lehet, amikor egy meglévő SSH kulcs törlése, visszavonása vagy cseréje válik szükségessé. Előfordulhat, hogy növelni szeretnénk a szervereink biztonságát, megszüntetnénk egy régi hozzáférést, vagy egy új SSH biztonsági konfiguráció bevezetésére készülünk. Ebben az útmutatóban áttekintjük az SSH kulcsok eltávolításának legfontosabb módszereit, azok előnyeit és hátrányait, valamint néhány hasznos alternatív megoldást is. A gyakorlati példák segítenek a folyamat megértésében, a végén pedig a leggyakoribb kérdésekre is választ adunk.
1. Mi az SSH kulcs, és miért lehet szükség az eltávolítására?
Az SSH (Secure Shell) egy olyan protokoll és eszközkészlet, amely biztonságos kapcsolatot tesz lehetővé távoli szerverekhez. A kulcsalapú hitelesítés napjainkban az egyik legelterjedtebb és legbiztonságosabb megoldás a szerverhozzáférések kezelésére. Bizonyos helyzetekben azonban indokolt lehet a Linux SSH kulcs eltávolítása:
- Biztonsági okokból: Ha felmerül a gyanú, hogy a kulcs kompromittálódott, illetéktelen kezekbe került, vagy elavult algoritmussal készült.
- Felhasználóváltás esetén: Amikor egy munkatárs távozik a csapatból, új kolléga érkezik, vagy egy projekt lezárul.
- Új konfiguráció bevezetésekor: Például amikor modernebb algoritmusokra, például Ed25519-re váltunk, vagy új SSH biztonsági szabályzatot vezetünk be.
Az SSH kulcsok törlése nem kizárólag vészhelyzetekben hasznos. Sok szervezet rendszeres biztonsági auditok részeként távolítja el a már nem használt kulcsokat. Ez csökkenti a támadási felületet, és átláthatóbbá teszi a hozzáférések kezelését.
2. Az SSH kulcs törlésének alapvető lépései
Az SSH kulcs törlése vagy visszavonása során általában két különböző helyen kell elvégezni a szükséges módosításokat:
- A helyi gépen tárolt kulcsok eltávolítása: A
~/.ssh/könyvtárban található privát és publikus kulcsok törlése. - A távoli szerveren regisztrált kulcsok eltávolítása: A szerver
~/.ssh/authorized_keysfájljában szereplő megfelelő sorok törlése.
A két lépést célszerű együtt végrehajtani. Ha csak a helyi kulcsokat törli, de a szerveren továbbra is szerepelnek az engedélyezett bejegyzések, az bizonyos körülmények között továbbra is biztonsági kockázatot jelenthet.
2.1 Helyi kulcs törlése
Linux és macOS rendszereken az SSH kulcspárok általában a ~/.ssh mappában találhatók. Gyakori példák:
~/.ssh/id_rsa(privát kulcs)~/.ssh/id_rsa.pub(publikus kulcs)~/.ssh/id_ed25519(privát kulcs)~/.ssh/id_ed25519.pub(publikus kulcs)
Törlés előtt mindig ellenőrizze, hogy valóban a megfelelő fájlokat választotta ki. Sok rendszergazda egyedi neveket használ a kulcsokhoz, például mycustomkey. Ebben az esetben különösen fontos a pontos azonosítás.
cd ~/.ssh/
rm id_rsa id_rsa.pub
# vagy
rm id_ed25519 id_ed25519.pub
Ha új projekten kezd dolgozni, vagy más felhasználói hozzáférésekkel folytatja a munkát, ezeknek a fájloknak a törlése általában elegendő. Amennyiben több kulcsot használ különböző szerverekhez, fokozott körültekintéssel járjon el, hogy ne a rossz kulcsot távolítsa el.

2.2 Kulcs eltávolítása a távoli szerverről
A Linux SSH kulcs eltávolításának második része a szerveroldali bejegyzések törlése. Ehhez a megfelelő felhasználó ~/.ssh/authorized_keys fájlját kell szerkeszteni.
# Jelentkezzen be a szerverre.
ssh [email protected]
# Nyissa meg az authorized_keys fájlt
nano ~/.ssh/authorized_keys
# Keresse meg és törölje a kívánt sort.
A publikus kulcs tartalma általában egy hosszú, egyetlen sorból álló bejegyzésként jelenik meg az authorized_keys fájlban. Keresse meg a törölni kívánt kulcshoz tartozó sort, majd távolítsa el teljes egészében. A fájl mentése után az adott kulccsal történő hozzáférés megszűnik.
2.3 Speciális megoldás: fordított művelet az ssh-copy-id esetén
Az ssh-copy-id eszközt alapvetően SSH kulcsok hozzáadására használják. Beépített eltávolítási funkcióval azonban nem rendelkezik. Mivel az ssh-copy-id által felmásolt kulcsok az authorized_keys fájlban jelennek meg, azok törlése továbbra is manuálisan történik.
Más szóval nincs olyan parancs, mint például ssh-copy-id -r, amely automatikusan eltávolítaná a kulcsot. A legtöbb esetben szövegszerkesztővel vagy egyedi szkripttel kell módosítani az authorized_keys fájlt.
3. A Linux SSH kulcs eltávolításának előnyei és hátrányai
Mielőtt bármilyen hozzáférést módosítana, érdemes mérlegelni a várható előnyöket és a lehetséges kockázatokat.
3.1 Előnyök
- Nagyobb biztonság: A már nem használt vagy potenciálisan veszélyeztetett kulcsok eltávolítása csökkenti a támadási felületet.
- Átláthatóbb hozzáférés-kezelés: A távozó munkatársak hozzáférése gyorsan megszüntethető.
- Naprakész titkosítás: A kulcsok rendszeres cseréje elősegíti a korszerű algoritmusok használatát.
3.2 Hátrányok
- Véletlen törlés: Egy rossz kulcs vagy rossz sor eltávolítása hozzáférésvesztéshez vezethet.
- Átmeneti elérési problémák: Kevésbé tapasztalt felhasználók nehezen tudnak újra csatlakozni a módosítások után.
- Adminisztrációs ráfordítás: Nagy infrastruktúrák esetén a kulcsok kezelése időigényes lehet.
Ezért minden módosítást célszerű előre megtervezni, és lehetőség szerint tesztkörnyezetben kipróbálni, mielőtt éles rendszereken alkalmazná.
4. Alternatív vagy kiegészítő módszerek
Nem minden esetben szükséges teljesen törölni egy SSH kulcsot. Bizonyos helyzetekben más megoldások is megfelelőek lehetnek.
4.1 Passphrase frissítése
Ha az SSH biztonsági konfiguráció javítása a cél, de a kulcsot továbbra is használni szeretné, akkor a ssh-keygen -p parancs segítségével módosíthatja a passphrase értékét. Ez növeli a biztonságot anélkül, hogy új kulcspárt kellene létrehozni.
4.2 Key Revocation List (KRL)
Az OpenSSH 6.2 és újabb verzióiban elérhető a Key Revocation List (KRL) funkció. Ennek segítségével nyilvántarthatja azokat a kulcsokat vagy tanúsítványokat, amelyeket a rendszernek többé nem szabad elfogadnia.
Például a ssh-keygen -k -f revoked_keys parancs segítségével létrehozható egy visszavonási lista, amelyet később az SSH konfiguráció részeként használhat.
4.3 Tiltás SSH konfigurációval
A szerveroldali /etc/ssh/sshd_config fájlban különböző szabályokkal korlátozhatók bizonyos felhasználók vagy hitelesítési módszerek. Például a PasswordAuthentication no beállítással kizárólag kulcsalapú hozzáférés engedélyezhető.
Ez a megközelítés nem közvetlenül az SSH kulcs törléséről szól, hanem a hozzáférési szabályok módosításáról. Egyes környezetekben azonban hatékony kiegészítő védelmet jelenthet.
5. Gyakorlati példák és tippek
Az alábbi példák jól szemléltetik, hogy a Linux SSH kulcs eltávolítása milyen helyzetekben válhat szükségessé:
- Fejlesztői csapat: Egy ötfős csapatból távozik egy munkatárs. Ilyenkor elegendő lehet az ő bejegyzésének törlése az
authorized_keysfájlból, valamint a hozzá tartozó privát kulcs eltávolítása a használt eszközökről. - Szervermigráció: Új infrastruktúrára költözéskor érdemes a régi rendszerekhez tartozó kulcsokat visszavonni, és kizárólag az aktuális szervereken használt kulcsokat megtartani.
- Biztonsági incidens: Ha felmerül a kulcsszivárgás vagy kulcslopás gyanúja, a lehető leggyorsabban távolítsa el az érintett kulcsot, majd hozzon létre és telepítsen egy újat.
Ezek a példák jól mutatják, hogy a kulcskezelés nem csupán technikai feladat, hanem a szerverüzemeltetés és az információbiztonság alapvető része.
6. Külső és belső hivatkozások
Ha részletesebb információkra van szüksége az SSH működéséről és konfigurálásáról, látogasson el az OpenSSH hivatalos weboldalára, ahol a teljes dokumentáció elérhető.
Emellett weboldalunk Linux kategóriájában további útmutatókat és konfigurációs példákat is találhat.
7. Összefoglalás és következtetés
A Linux SSH kulcs eltávolítása a biztonságos szerverüzemeltetés egyik alapvető feladata. Legyen szó hozzáférések megszüntetéséről, csapatváltozásról, rendszeres biztonsági felülvizsgálatról vagy egy új SSH biztonsági konfiguráció bevezetéséről, a kulcsok megfelelő kezelése kiemelten fontos.
A folyamat két fő részből áll: a helyi kulcsfájlok eltávolításából, valamint a szerveroldali authorized_keys bejegyzések törléséből. A gondosan dokumentált eljárások, a rendszeres auditok és a már nem használt kulcsok visszavonása jelentősen csökkentik a jogosulatlan hozzáférés kockázatát.
Az aktuális kriptográfiai ajánlások követése, az időszakos kulcscsere és a hozzáférések folyamatos felülvizsgálata hatékony védelmet nyújt a modern kibertámadásokkal szemben. Egyetlen elfelejtett vagy feleslegesen aktív kulcs is komoly biztonsági problémákat okozhat, ezért érdemes tudatosan kezelni az SSH környezetet.
Gyakran Ismételt Kérdések (GYIK)
1. Be kell jelentkezni a rendszerbe a Linux SSH kulcs eltávolításához?
Általában igen. Az SSH kulcs törléséhez hozzá kell férnie a szerverhez, hogy szerkeszteni tudja az authorized_keys fájlt. A helyi gépen pedig a ~/.ssh könyvtárban található kulcsokat kell eltávolítania. Ha más adminisztrációs hozzáféréssel, például root konzollal rendelkezik, akkor közvetlen SSH bejelentkezés nélkül is végrehajthatja a módosítást.
2. Mit kell tennem az SSH kulcs törlése után az újbóli csatlakozáshoz?
Miután a régi kulcsot eltávolította, azzal már nem tud kapcsolódni a szerverhez. Hozzon létre egy új kulcspárt az ssh-keygen segítségével, majd adja hozzá az új publikus kulcsot a szerver authorized_keys fájljához.
3. Több szerveren ugyanazt a kulcsot használom. Mindenhonnan el kell távolítanom?
Ha teljes mértékben ki szeretné vonni a használatból az adott kulcsot, akkor igen. A kulcshoz tartozó bejegyzéseket minden érintett szerver authorized_keys fájljából törölni kell. Ellenkező esetben a kulcs továbbra is használható maradhat egyes rendszereken.