this post was submitted on 21 Dec 2025
40 points (100.0% liked)

Selfhosted

53808 readers
256 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

My ssh keys are oldMany times I had the Idea to replace them and cleanup. Put the approach feels old not intuitive and i'm affraid of problems.

How do you manage keys and get sure they do ot get to old.

you are viewing a single comment's thread
view the rest of the comments
[–] notabot@piefed.social 4 points 19 hours ago (1 children)

The general process would look something like:

  1. Find all of the SSH keys you want to replace.
  2. For each of thise keys, identify everywhere you use it to authenticate, and write this down! This list will form the basis of the rest of the plan. Make sure you list all of the accounts/servers you log in to, and don't forget things like github or other external systems if you use them.

You'll need to perform the following steps for each SSH key you are replacing:

  1. Rename the public and private keys to something like old_id_rsa and old_id_rsa.pub (obviously use the same type name as your key, just prefix old_)
  2. In your ~/.ssh/config, add a line telling SSH to use the old key as well as the new ones: IdentityFile ~/.ssh/old_id_rsa (change the key filename as aporopriate)
  3. Check you can still log in to the servers you could log in to before. It should still be using the old key, just with a different filename, so it should still work.
  4. Generate your new SSH keys ssh-keygen -t ed25519
  5. Log in to each server and ADD the new ~/.ssh/id_ed25519.pub key to the authorized_keys file or equivalent mechanism. Do not remove the old public key yet.
  6. Remove the IdentityFile line from your ~/.ssh/config
  7. Check you can log in to all your systems. This will validate that your new key is working.
  8. Remove your old public key from the authorized_keys file on each server you log in to.

Depending on your threat model you're going to want to do this more or less often, and so you may want to consider automating it with sonething like ansible if it'll be a regular job.

[–] non_burglar@lemmy.world 3 points 16 hours ago
  1. Find all of the SSH keys you want to replace.

I hate this part.