Sådan fjerner du en SSH-nøgle fra en server: En enkel one-liner guide

Findes der en kommando (eller en one-liner) til at fjerne en SSH-nøgle på en server, noget der fungerer som det modsatte af ssh-copy-id?

Findes der en kommando til at fjerne en SSH-nøgle fra en server, kan du bruge en one-liner som denne: `ssh user@server "grep -v 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArandomkey' ~/.ssh/authorized_keys > ~/.ssh/authorized_keys.tmp && mv ~/.ssh/authorized_keys.tmp ~/.ssh/authorized_keys"`.

Findes der en kommando (eller en one-liner) til at fjerne en SSH-nøgle på en server, noget der fungerer som det modsatte af ssh-copy-id?

Ja, der findes en kommando til at fjerne en SSH-nøgle fra en server. Selvom der ikke er en direkte modpart til ssh-copy-id, kan du bruge en kombination af kommandoer til at opnå det ønskede resultat. Her er en one-liner, der kan fjerne en specifik SSH-nøgle fra authorized_keys filen:

ssh user@server "grep -v 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArandomkey' ~/.ssh/authorized_keys > ~/.ssh/authorized_keys.tmp && mv ~/.ssh/authorized_keys.tmp ~/.ssh/authorized_keys"

Her er en forklaring af, hvad denne one-liner gør:

  • ssh user@server: Opretter en SSH-forbindelse til serveren som den angivne bruger.
  • grep -v 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArandomkey' ~/.ssh/authorized_keys: Søger efter linjer i authorized_keys filen, der ikke indeholder den specifikke SSH-nøgle, og skriver dem til en midlertidig fil.
  • ~/.ssh/authorized_keys.tmp: Den midlertidige fil, hvor de filtrerede linjer gemmes.
  • mv ~/.ssh/authorized_keys.tmp ~/.ssh/authorized_keys: Flytter den midlertidige fil tilbage til authorized_keys filen, hvilket effektivt fjerner den specifikke SSH-nøgle.

Bemærk, at du skal erstatte ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArandomkey med den faktiske SSH-nøgle, du ønsker at fjerne.