Uvod
Odstranitev SSH ključa v Linuxu je pomemben korak, kadar želimo izbrisati SSH ključ ali spremeniti način dostopa do strežnika. S tem lahko izboljšamo varnost povezav ali uvedemo novo SSH varnostno politiko. V tej objavi bomo pregledali vse metode za izbris ključev, razložili prednosti in slabosti ter predstavili alternativne rešitve. Praktični primeri bodo ponazorili postopek, na koncu pa odgovarjamo na najpogostejša vprašanja.
1. Kaj je SSH ključ in zakaj ga odstraniti?
SSH (Secure Shell) je protokol, ki omogoča varen dostop do oddaljenih strežnikov. Avtentikacija s ključi je najbolj razširjena, saj je varna in hitra. Odstranitev SSH ključa v Linuxu je smiselna v naslednjih primerih:
- Varnost: Če sumite, da je ključ kompromitiran ali zastarel (šibki algoritmi).
- Sprememba uporabnikov: Ko predajate strežnik novemu upravitelju, sprejemate nove člane v ekipo ali želite nekdanjemu sodelavcu odvzeti dostop.
- Novo nastavljanje: Za prehod na nove algoritme (npr. Ed25519) ali boljšo SSH varnostno politiko.
Odstranitev ključev ni le odziv na incident – priporoča se kot del redne varnostne prakse. Stari ali nepotrebni ključi so pogost vektor napada, zato jih je smiselno odstranjevati.
2. Osnovni koraki za odstranitev SSH ključa
Za izbris SSH ključa moramo poskrbeti za odstranitev tako lokalnih kot oddaljenih datotek:
- Odstranitev lokalnih ključev: Iz
~/.ssh/mape izbrišemo zasebni (private) in javni (public) ključ. - Odstranitev ključev na strežniku: V
~/.ssh/authorized_keysdatoteki na strežniku izbrišemo ustrezno vrstico.
Oba koraka sta nujna. Če lokalni ključ izbrišete, a na strežniku ostane, lahko napadalec kljub temu pride do dostopa, če ga pridobi.
2.1 Odstranitev lokalnega ključa
Na Linux in macOS sistemih so SSH ključi v mapi ~/.ssh. Običajna imena so:
~/.ssh/id_rsa(zasebni ključ)~/.ssh/id_rsa.pub(javni ključ)~/.ssh/id_ed25519(zasebni ključ)~/.ssh/id_ed25519.pub(javni ključ)
Bodite pozorni, če uporabljate ključe z nestandardnimi imeni (npr. moj_kljuc). Primer ukazov:
cd ~/.ssh/
rm id_rsa id_rsa.pub
# ali
rm id_ed25519 id_ed25519.pub
Če začenjate nov projekt ali menjate uporabnika, je to dovolj. Če imate več ključev za različne strežnike, pazite, da ne izbrišete napačnega.

2.2 Odstranitev ključa na oddaljenem strežniku
Za odstranjevanje SSH ključa v Linuxu na strežniku, poiščite vrstico v ~/.ssh/authorized_keys, ki ustreza vašemu javnemu ključu. Postopek:
# Prijavite se na strežnik
ssh [email protected]
# Odprite authorized_keys datoteko
nano ~/.ssh/authorized_keys
# Izbrišite ustrezno vrstico
Vaš id_rsa.pub bo prikazan kot dolga vrstica v authorized_keys. Najdite ustrezno, izbrišite in shranite. Tako bo dostop prek tega ključa onemogočen.
2.3 Poseben primer: obratno s ssh-copy-id
ssh-copy-id je orodje za dodajanje ključev, ne odstranjevanje. Če ste dodali ključ s tem ukazom, ga morate ročno odstraniti iz authorized_keys. Ukaz za obratno operacijo (ssh-copy-id -r) ne obstaja, zato je potreben ročni izbris ali skripta za čiščenje.
3. Prednosti in slabosti odstranitve SSH ključev v Linuxu
Preden izvedemo izbris, je smiselno pretehtati dobre in slabe strani:
3.1 Prednosti
- Večja varnost: Odstranite stare ali kompromitirane ključe in zmanjšate možnosti napada.
- Čistejša administracija: Preprosto odvzamete dostop osebam, ki niso več del ekipe ali projekta.
- Redna posodobitev: S rednim odstranjevanjem in ustvarjanjem novih ključev ostajate na sodobnih algoritmih.
3.2 Slabosti
- Napačen izbris: Če izbrišete napačno vrstico ali datoteko, lahko izgubite dostop do sistema.
- Začasna izguba dostopa: Manj izkušeni uporabniki se lahko znajdejo v težavah pri ponovni vzpostavitvi povezave.
- Časovna zahtevnost: Pri več strežnikih in uporabnikih je upravljanje ključev lahko zamudno.
Prednosti so očitne, a upoštevajte tudi tveganja. Priporočamo, da postopke izvajate premišljeno in načrtovano.
4. Dodatni ali alternativni postopki
Odstranitev SSH ključev ni edina možnost. V določenih primerih so koristni tudi drugi pristopi:
4.1 Posodobitev gesla ključa
Nekateri SSH varnostni postopki zahtevajo le spremembo gesla ključa. S ssh-keygen -p lahko spremenite geslo brez izbrisa ključa. Tako okrepimo varnost, ne da bi morali znova dodajati ključ na strežnik.
4.2 Seznam preklicanih ključev (KRL)
Od OpenSSH 6.2 naprej je možna uporaba KRL – seznam preklicanih ključev. Ta omogoča označitev ključev kot neveljavnih. Ustvarite ga z ssh-keygen -k -f revoked_keys in konfigurirate SSH, da upošteva seznam.
4.3 Blokada s SSH konfiguracijsko datoteko
Na strežniku lahko v /etc/ssh/sshd_config omejite dostop uporabnikov ali tipov ključev. Na primer PasswordAuthentication no omogoča le dostop prek ključev. Te nastavitve so uporabne za testne ali DMZ strežnike, a ne nadomeščajo dejanskega izbrisa ključev.
5. Konkretni primeri in nasveti
Kako se odstranjevanje SSH ključev v Linuxu izvaja v praksi? Nekaj pogostih scenarijev:
- Primer ekipe razvijalcev: Imate ekipo petih. Če eden odhaja, izbrišete njegov ključ iz
authorized_keysna strežniku in lokalno iz njegovega računalnika. - Predaja strežnika: Ko menjate infrastrukturo, izbrišete vse ključe na starem strežniku. Na novem nastavite le nove, varne ključe. S tem preprečite morebitne varnostne luknje.
- Urgenca: Če sumite, da je ključ ukraden ali izpostavljen, takoj izvedite odstranitev SSH ključa v Linuxu in ustvarite nov ključ za dostop.
Ti primeri pokažejo, da je izbris ključev nujen za varnost in nemoteno delo, ne glede na velikost ekipe ali projekt.
6. Zunanje in notranje povezave
Za poglobljene informacije o SSH obiščite OpenSSH uradno stran (DoFollow), kjer najdete dokumentacijo.
Priporočamo tudi ogled Linux kategorije na naši strani, kjer najdete več primerov nastavitev in varnostnih nasvetov.
7. Povzetek in zaključek
Odstranitev SSH ključa v Linuxu je ključen korak za varnost in upravljanje. Ne glede na razlog – varnostna incident, sprememba ekipe ali redno čiščenje – je treba izbrisati SSH ključ tako lokalno kot na strežniku (authorized_keys).
Pri tem bodite pozorni, da imate jasno SSH varnostno politiko, sodelovanje v ekipi in redno preverjanje ključev. Uporabljajte sodobne algoritme, redno odstranjujte nepotrebne ključe in ne podcenjujte potencialnih tveganj – majhna napaka lahko vodi v veliko kršitev podatkov.
Pogosta vprašanja (FAQ)
1. Ali moram biti prijavljen v sistem, da odstranim SSH ključ?
Običajno da. Za izbris SSH ključa potrebujete dostop do strežnika oziroma datotek authorized_keys in lokalne ~/.ssh mape. Če imate dostop kot root ali prek druge metode, lahko uredite datoteke tudi brez standardne prijave.
2. Kaj storiti po izbrisu SSH ključa, če želim ponovno dostop?
Stari ključ ne bo več deloval. Za novo SSH varnostno politiko ustvarite nov ključ z ssh-keygen in javni ključ dodajte v authorized_keys na strežniku.
3. Uporabljam isti ključ na več strežnikih, ali ga moram povsod odstraniti?
Če želite ključ v celoti deaktivirati, ga odstranite iz authorized_keys na vseh strežnikih. V nasprotnem primeru ostane dostop do tistih, kjer ga niste izbrisali.