Hvordan-guide

Fjerne Linux SSH-nøkler: Alle Metoder og Tips

  • 7 min lesetid
  • Hostragons-teamet
Fjerne Linux SSH-nøkler: Alle Metoder og Tips

Innledning

Fjerning av Linux SSH-nøkkel er en kritisk prosess, spesielt når vi ønsker å slette eller endre SSH-nøkkelen. Vi kan ønske å kansellere nøkler for å forbedre sikkerheten til SSH-tilkoblingene våre eller for å implementere en ny SSH-sikkerhetskonfigurasjon. I denne artikkelen vil vi diskutere hvilke metoder som kan brukes for å fjerne SSH-nøkler, fordelene og ulemper ved dette, samt mulige alternative løsninger. Vi vil også styrke prosessen med eksempler og avslutte med svar på ofte stilte spørsmål.

1. Hva er SSH-nøkkel og hvorfor bør den fjernes?

SSH (Secure Shell) er en protokoll og verktøysett som gjør det mulig å opprette sikre tilkoblinger til eksterne servere. Metoden for "nøkkelbasert autentisering" gir en sikker og praktisk bruk. Det er flere situasjoner hvor fjerning av Linux SSH-nøkkelen kan være nødvendig:

  • Sikkerhet: Hvis du er bekymret for at nøkkelen din har blitt lekket eller er generert med utdaterte algoritmer.
  • Brukerendringer: Situasjoner som overføring av serveren, tilkomst av et nytt medlem i teamet, eller opphevelse av tilgang for en profesjonell som forlater prosjektet.
  • Ny Konfigurasjon: Gjenoppretting av nøkler for sterkere algoritmer (f.eks. Ed25519) eller annen SSH-sikkerhetskonfigurasjon.

Fjerning av SSH-nøkler er ikke bare for risikofylte situasjoner, men kan også foretas som del av vanlige sikkerhetspolicyer. Å slette ubenyttede eller overflødige nøkler reduserer potensielle overflateområder for cyberangrep.

2. Basale skritt for å fjerne SSH-nøkkel

Å fjerne SSH-nøkkelen eller kansellere den krever vanligvis at du ser på to ulike steder:

  1. Fjerning av nøkler på lokal maskin: Ofte innebærer dette å fjerne private (private) og offentlige (public) nøkler fra ~/.ssh/ mappen.
  2. Fjerning av registrerte nøkler på ekstern server: Dette innebærer å rense linjene som er oppført i ~/.ssh/authorized_keys filen på serveren.

Disse to prosessene må gjøres samtidig. Selv om du slettet din lokale nøkkel, kan det skape risiko hvis serverinformasjonen er intakt og en angriper får tilgang til serveren.

2.1 Fjerning av lokal nøkkel

I Linux eller macOS-systemer finnes SSH-nøkkelpar typisk i ~/.ssh-mappen. Eksempler inkluderer:

  • ~/.ssh/id_rsa (Privat nøkkel)
  • ~/.ssh/id_rsa.pub (Offentlig nøkkel)
  • ~/.ssh/id_ed25519 (Privat nøkkel)
  • ~/.ssh/id_ed25519.pub (Offentlig nøkkel)

Vær forsiktig når du sletter. Hvis navngivningen ble gjort med et spesifikt navn (f.eks. mycustomkey), må du identifisere de riktige filene. Et eksempel på kommando kan være:

cd ~/.ssh/
rm id_rsa id_rsa.pub
# eller
rm id_ed25519 id_ed25519.pub

Hvis du bytter til et nytt prosjekt eller jobber med en annen bruker, er det tilstrekkelig å slette disse filene. Men hvis du arbeider med flere nøkler på en enkelt server, må du være forsiktig så du ikke sletter feil fil.

Eksempel på fjerning av linux ssh-nøkkel

2.2 Fjerne nøkkel fra ekstern server

Når du går videre til å fjerne Linux SSH-nøkkelen fra serveren, må du slette linjen som er registrert i brukerens ~/.ssh/authorized_keys fil på den eksterne maskinen. Du kan bruke følgende prosedyre:

# Logg inn på serveren.
ssh [email protected]

# Gå til hjemmemappen din og åpne authorized_keys filen
nano ~/.ssh/authorized_keys

# Finn linjen du vil slette og fjern den.

For eksempel vil innholdet fra id_rsa.pub vises som en lang linje i authorized_keys. Identifiser og slett denne linjen eller linjene. Når du har lagret og avsluttet, er tilgangen for den nøkkelen angitt kansellert.

2.3 Et spesielt alternativ: ssh-copy-id til tilbakekobling

ssh-copy-id brukes ofte for å legge til nøkler. Det er imidlertid ikke innebygd støtte for et "fjern"-alternativ. Men siden nøklene som legges til med ssh-copy-id samsvarer med spesifikke linjer i authorized_keys filen, må disse linjene fjernes manuelt. Derfor støttes ikke sletteoperasjoner direkte med kommandoen ssh-copy-id -r. Du må bruke en teksteditor eller lage en skript for å rense authorized_keys.

3. Fordeler og ulemper ved fjerning av Linux SSH-nøkkel

Før du gjennomfører en prosess kan det hjelpe å vurdere fordeler og ulemper for å unngå potensielle problemer. Her er fordelene og ulempene med å fjerne nøkler:

3.1 Fordeler

  • Økt Sikkerhet: Ved å kansellere ubenyttede eller potensielt kompromitterte nøkler, reduserer du mulighetsflaten for angrep.
  • Ryddig Administrasjon: Du kan enkelt avslutte tilgangen til fratrådte medlemmer i teamet, noe som øker administrerbarheten.
  • Regelmessige Oppdateringer: Regelmessig fjerning og gjenoppretting kan bidra til bruk av moderne krypteringsalgoritmer kontinuerlig.

3.2 Ulemper

  • Feil Nøkkelfjerning: Å slette feil fil eller linje kan føre til tap av tilgang til systemene.
  • Midertidig Tilgangstap: Uerfarne brukere kan ha problemer med å koble til igjen under operasjonen.
  • Arbeidskostnad: Å håndtere denne prosessen for mange servere eller brukere kan være tidkrevende.

Derfor må du ta hensyn til både fordelene og uventede risikoer, og bruke en planlagt og forsiktig tilnærming til prosessen.

4. Alternativer eller tilleggsmetoder

I tillegg til å fjerne SSH-nøkler, finnes det ulike tilnærminger. Å gjennomgå dette avsnittet kan gi fordeler i spesifikke scenarioer:

4.1 Oppdateringer av passphrase

Hvis du kun ønsker å endre passordet for SSH-sikkerhetskonfigurasjonen, kan du oppdatere passphrase med kommandoen ssh-keygen -p. Dette øker sikkerhetsnivået uten å måtte slette nøkkelen helt.

4.2 Key Revocation List (KRL)

Fra OpenSSH versjon 6.2 og oppover finnes funksjonen Key Revocation List (KRL). Dette gjør det mulig å opprettholde en liste på serveren over hvilke nøkler som er ugyldige eller hvilke sertifikater som ikke vil bli akseptert. KRL kan opprettes med kommandoer som ssh-keygen -k -f revoked_keys, og SSH kan konfigureres deretter.

4.3 Hindring med SSH-konfigurasjonsfil

På serverens side kan du bruke enkelte parametre i /etc/ssh/sshd_config for å blokkere bestemte brukere eller nøkkeltyper. For eksempel kan du sette PasswordAuthentication no for å tillate kun nøkkelbasert tilgang, og om ønskelig etablere forskjellige policyer for DMZ eller testsystemer. Dette er dog en metode som endrer de generelle tilgangsprotokollene i stedet for å "fjerne nøkler".

5. Konkrete eksempler og tips

La oss gå gjennom noen eksempler på hvordan du kan gå frem i praksis:

  1. Utviklingsteam Eksempel: Hvis du har et team på 5 personer, kan det være tilstrekkelig å slette kun linjen i authorized_keys for personen som forlot. I tillegg bør den personens lokale private key også bli slettet.
  2. Serveroverføring: Når infrastruktur endres, kansellerer du alle SSH-nøkler fra den gamle serveren og bruker bare oppdaterte nøkler på den nye serveren. Dette forhindrer at gamle systemers sårbarheter blir aktivert på nytt.
  3. Nødsituasjon: Hvis en nøkkel er blitt lekket eller stjålet, kan du umiddelbart fjerne Linux SSH-nøkkel for å forhindre uautorisert tilgang. Deretter kan du opprette og legge til en ny nøkkel for å få tilgang til systemet ditt igjen.

Dessa eksemplene viser hvor kritiske beslutninger om fjerning av nøkler kan være i ulike størrelser og situasjoner.

6. Utenlandske og innlandske lenker

Hvis du har behov for mer omfattende informasjon om SSH, kan du besøke OpenSSH Offisielle Side (DoFollow) for hele dokumentasjonen.

I tillegg kan du sjekke ut forskjellige konfigurasjonseksempler i vår kategori for Linux.

7. Sammendrag og konklusjon

Fjerning av Linux SSH-nøkkel er en uunngåelig prosess med hensyn til sikkerhet og administrerbarhet. Du kan ønske å slette SSH-nøkkelen av grunner som sikkerhetsbrudd, endringer i teamet, eller bare for å holde orden. Prosessen involverer i hovedsak to faser: Å rydde opp i de lokale nøklene og fjerne de relevante linjene fra authorized_keys filen på serveren.

Det anbefales å opptre forsiktig i denne fasen, og å administrere SSH-sikkerhetskonfigurasjonen din med en skriftlig policy samt sikre god koordinasjon internt i teamet. Å bruke oppdaterte kryptografiske metoder, utføre periodiske kontroller og deaktivere ubenyttede nøkler gir en viktig beskyttelse mot cyberangrep. Husk, en liten feil kan åpne døren for store datainnbrudd.

Ofte stilte spørsmål

1. Trenger man et aktivt system for å fjerne Linux SSH-nøkkel?

Generelt sett, ja. Du må ha tilgang til serveren for å fjerne SSH-nøkkelen. Når du er logget inn, kan du redigere authorized_keys filen og slette filer i ~/.ssh mappen. Men hvis du har tilgang på annen måte (for eksempel via root-konsoll), kan du også gjøre endringer uten å være logget inn.

2. Hva bør jeg gjøre for å tilbakestille etter fjerning av SSH-nøkkel?

Hvis du har slettet den gamle nøkkelen, vil du ikke lenger kunne koble til med den. Hvis du planlegger en ny SSH-sikkerhetskonfigurasjon, må du bruke ssh-keygen kommandoen for å opprette nye nøkler og legge til den offentlige nøkkelen i authorized_keys på serveren.

3. Jeg bruker samme nøkkel på flere servere, må jeg fjerne den fra alle?

Ja, hvis du vil deaktivere nøkkelen helt, må du slette registreringene i authorized_keys på alle servere. Ellers kan du fortsatt få tilgang til ulike servere.

Del dette innlegget:

Hostragons-teamet

Oppdaterte guider fra vårt team av eksperter innen hosting, servere og domenenavn. La oss finne den rette løsningen for prosjektet ditt sammen.

Kontakt oss