Indledning
Fjernelse af Linux SSH-nøgler er en vigtig procedure, især når vi ønsker at fjerne eller ændre SSH-nøgler. Vi ønsker måske at øge sikkerheden i vores SSH-forbindelser eller ændre til en ny SSH sikkerhedskonfiguration. I denne artikel vil vi undersøge de metoder, der kan anvendes til at fjerne SSH-nøgler, samt de fordele og ulemper, der ligger i processen, og eventuelle alternative løsninger. Vi vil også styrke vores forståelse med konkrete eksempler og besvare ofte stillede spørgsmål i slutningen.
1. Hvad er SSH-nøgle, og hvorfor kan det være nødvendigt at fjerne det?
SSH (Secure Shell) er et protokol og værktøjssæt, der muliggør sikker forbindelse til fjernservere. Metoden “nøglebaseret autentificering” giver en sikker og praktisk brug. Følgende situationer kan nødvendiggøre en fjernelse af Linux SSH-nøgler:
- Sikkerhedsproblem: Hvis du er bekymret for, at din nøgle er blevet kompromitteret eller er oprettet med forældede algoritmer.
- Brugerændring: Situationer som overdragelse af serveren, en ny medarbejder i teamet eller annullering af adgang for en specialist, der forlader projektet.
- Ny Konfiguration: Oprettelse af nøgler med stærkere algoritmer (f.eks. Ed25519) eller til forskellige SSH sikkerhedskonfigurationer.
Fjernelse af SSH-nøgler bør ikke kun overvejes i risikable situationer, men kan også være en del af en regulær sikkerhedspolitik. At slette unødvendige eller inaktive nøgler reducerer potencialet for cyberangreb.
2. Grundlæggende trin for at fjerne SSH-nøgler
For at fjerne SSH-nøgler eller afbryde dem, skal du typisk se på to forskellige punkter:
- Fjernelse af nøgler på den lokale maskine: Dette involverer typisk fjernelse af de private (private) og offentlige (public) nøgler i
~/.ssh/mappen. - Fjernelse af registrerede nøgler på den fjernserver: Dette indebærer rengøring af linjerne i
~/.ssh/authorized_keysfilen på serveren.
Disse to processer skal udføres synkront. Hvis du sletter din lokale nøgle, men oplysningerne på serveren er intakte, kan en angriber stadig have risiko for adgang, hvis vedkommende får fat i serverens oplysninger.
2.1 Fjernelse af lokale nøgler
På Linux eller macOS-systemer findes SSH-nøglepar typisk i ~/.ssh-mappen. Eksempler inkluderer:
~/.ssh/id_rsa(Private nøgle)~/.ssh/id_rsa.pub(Offentlig nøgle)~/.ssh/id_ed25519(Private nøgle)~/.ssh/id_ed25519.pub(Offentlig nøgle)
Vær opmærksom, når du sletter. Hvis en nøgle har et usædvanligt navn (mycustomkey etc.), skal du være sikker på at identificere de korrekte filer. Et kommandoeksempel kunne være:
cd ~/.ssh/
rm id_rsa id_rsa.pub
# eller
rm id_ed25519 id_ed25519.pub
Hvis du skifter til et nyt projekt eller en anden bruger, er det tilstrækkeligt at slette disse filer. Hvis du dog arbejder på én server med flere nøgler, skal du være ekstra forsigtig med ikke at slette den forkerte fil.

2.2 Fjernelse af nøgler fra en fjernserver
Når du er klar til at udføre fjernelse af Linux SSH-nøgler på serveren, skal du slette linjen, der tilhører den bruger, du har adgang til, i ~/.ssh/authorized_keys filen. Du kan gøre det som følger:
# Log ind på serveren.
ssh [email protected]
# Gå derefter til din hjemmemappe og åbne authorized_keys filen
nano ~/.ssh/authorized_keys
# Find linjen, du ønsker at slette, og fjern den.
For eksempel vil indholdet af id_rsa.pub blive vist som en lang linje i authorized_keys. Identificer denne linje eller linjer og slet dem helt. Når du har gemt og afsluttet, vil adgangen for den nøgle til serveren være annulleret.
2.3 En specifik metode: Proces med ssh-copy-id
ssh-copy-id bruges normalt til at tilføje nøgler. Men der er ikke en indbygget mulighed for “fjernelse”. Når det er sagt, skal nøgler, der er tilføjet med ssh-copy-id, stadig manuelt fjernes fra de relevante linjer i authorized_keys filen. Du kan ikke blot køre ssh-copy-id -r for at fjerne dem. Derfor skal du manuelt rydde authorized_keys ved hjælp af en teksteditor eller et script.
3. Fordele og ulemper ved at fjerne Linux SSH-nøgler
Det er vigtigt at afveje fordele og ulemper, før du udfører en handling, da det kan hjælpe med at forhindre potentielle problemer. Her er fordelene og ulemperne ved at slette nøgler:
3.1 Fordele
- Øget sikkerhed: Ved at annullere ubrugte eller kriminelle nøgler reducerer du det potentielle angrebsoverflade.
- Ren administration: Du kan hurtigt afslutte adgangen for personer, der forlader holdet, hvilket øger administrabiliteten.
- Regelmæssig opdatering: Regelmæssig fjernelse og genoprettelse kan muliggøre brugen af moderne krypteringsalgoritmer konstant.
3.2 Ulemper
- Forkert fjernelse af nøgler: At slette de forkerte filer eller linjer kan føre til tab af adgang til systemer.
- Midler til tab af adgang: Uerfarne brugere kan opleve vanskeligheder med at få adgang igen under processen.
- Arbejdsomkostninger: Det kan være tidkrævende at administrere denne proces for mange servere eller brugere.
Derfor skal du ikke kun overveje fordelene, men også de uventede risici og planlægge handlingerne omhyggeligt.
4. Alternativer eller yderligere metoder
Ud over at fjerne SSH-nøgler findes der også forskellige tilgange. Gennemgang af dette afsnit kan give fordele i nogle specifikke scenarier:
4.1 Opdateringer af passphrase
Hvis du kun ønsker at ændre passphrasen baseret på SSH sikkerhedskonfiguration, kan du opdatere passphrasen med ssh-keygen -p kommandoen. Dette hæver sikkerhedsniveauet uden at skulle fjerne nøglen helt.
4.2 Key Revocation List (KRL)
Fra OpenSSH version 6.2 og frem er der en Key Revocation List (KRL) funktion tilgængelig. Dette giver mulighed for at føre en liste over, hvilke nøgler der er ugyldige, eller hvilke certifikater der ikke accepteres på serveren. KRL kan oprettes med kommandoer som ssh-keygen -k -f revoked_keys og konfigureres inden for SSH.
4.3 Blokering med SSH konfigurationsfil
På serversiden kan du med parametre i /etc/ssh/sshd_config blokere brugere eller bestemte nøgletyper. For eksempel kan indstillinger som PasswordAuthentication no tillade adgang kun via nøglebaseret mekanismer, og der kan oprettes forskellige politikker til DMZ'er eller testsystemer. Dette er dog en metode, der ændrer den generelle adgangsprotokol i stedet for blot at “fjerne” nøgler.
5. Konkrete eksempler og tips
Lad os tage nogle eksempler på, hvordan du kan komme videre:
- Udviklingsteam eksempel: Du har et team på 5 personer. For en person, der forlader teamet, kan det være tilstrækkeligt blot at slette den pågældende linje fra
authorized_keys. Derudover skal hans eller hendes lokale private key også fjernes. - Overdragelse af server: Ved ændring af infrastruktur kan du annullere alle SSH-nøgler på den gamle server og kun bruge de nyeste nøgler på den nye server. Dette forhindrer, at sårbarheder i de deaktiverede systemer bliver genoplivet.
- Nødsscenario: Hvis der er mistanke om, at en nøgle er blevet lækket eller stjålet, kan du hurtigt udføre fjernelse af Linux SSH-nøgler for at forhindre uautoriseret adgang. Derefter kan du oprette en ny nøgle og tilføje den til dit system.
Disse eksempler viser, hvor kritisk beslutningen om at fjerne nøgler kan være i forskellige situationer og på forskellige skalaer.
6. Eksterne og interne links
Hvis du har brug for mere omfattende information om SSH, kan du finde hele dokumentationen på OpenSSH's officielle hjemmeside (DoFollow).
Du kan også finde forskellige konfigurationsdokumenter under vores Linux kategori på vores hjemmeside.
7. Opsummering og konklusion
Fjernelse af Linux SSH-nøgler er en uundgåelig procedure, når det kommer til sikkerhed og administration. Du kan have brug for at fjerne SSH-nøgler på grund af sikkerhedsbrud, ændringer i teamet eller blot for at holde orden. Processen består grundlæggende af to trin: Rydde de lokale nøgler og fjerne de relevante linjer i authorized_keys filen på serveren.
Det anbefales at være opmærksom under disse trin, at administrere SSH sikkerhedskonfiguration via skriftlige politikker og at sikre koordinering mellem teammedlemmer. At bruge opdaterede kryptografiske metoder, foretage periodiske kontroller og deaktivere unødvendige nøgler er vigtige foranstaltninger til at beskytte mod cyberangreb. Husk, en lille forsømmelse kan åbne døren for et stort databrud.
Ofte stillede spørgsmål
1. Er det nødvendigt at have en åben session for at fjerne Linux SSH-nøgler?
Generelt ja. For at fjerne SSH-nøgler kræver det, at du har adgang til serveren. Hvis sessionen er åben, kan du redigere authorized_keys filen og slette de lokale filer i ~/.ssh-mappen. Hvis du derimod har adgang via en anden metode (f.eks. root-konsol), kan du også foretage ændringer uden at have en åben session.
2. Hvad skal jeg gøre for at oprette forbindelse igen efter at have fjernet SSH-nøglen?
Hvis du har slettet den gamle nøgle, vil det ikke længere være muligt at oprette forbindelse med den. Hvis du planlægger en ny SSH sikkerhedskonfiguration, skal du oprette nye nøgler ved hjælp af ssh-keygen-kommandoen og tilføje den offentlige nøgle til authorized_keys filen på serveren.
3. Bruger jeg den samme nøgle på flere servere, skal jeg så fjerne den fra alle?
Ja, hvis du vil deaktivere nøglen helt, skal du slette alle poster i authorized_keys på alle servere. Ellers kan adgangen stadig være tilgængelig på forskellige servere.