I don’t like my ssh keys being stored in plain sight, I also don’t like having to type a passphrase to use them.

On windows, once you run ssh-add, the key is stored in a secure way and managed by some kind of session manager (source), at that point you can delete the key file and go about your life knowing that the key is safe and you won’t need to type a password again.

I would like something similar on linux, like storing the key via libsecret as you do with git, so that you can access your servers without having a key in plain text.

I think it’s possible to generate a key with a passphrase and have gnome-keyring or kwallet remember the passphrase, but it would be nicer to just securely store the key itself.

Can that be done?

  • Goku@lemmy.world
    link
    fedilink
    arrow-up
    2
    arrow-down
    7
    ·
    1 year ago

    Your ssh private keys are safe, assuming nobody has physical access to your home directory. You can configure them to not require a password.

    If someone has physical access to your computer then they could become compromised. If you are worried about that you could encrypt the whole drive.

    • Atemu
      link
      fedilink
      arrow-up
      14
      ·
      1 year ago

      Unless some sandboxing or other explicit security measure is in place, any software you run typically has access to your entire home directory, including .ssh/. If any one of those was compromised somehow, they’ve got access to your SSH keys.

      That’s a gigantic attack surface if you ask me.

    • edinbruh@feddit.itOP
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      It’s not a solution.

      Example: there’s another user with sudo access, he has access to my home folder, encrypting the drive doesn’t solve anything. Or maybe you just are not the system administrator.

      It’s not my usecase, but it’s definitely a reasonable situation.