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?

  • edinbruhOP
    link
    fedilink
    arrow-up
    6
    ·
    1 year ago

    that makes no sense - you need the key

    But if it’s stored in a keyring or similar (like on windows) and the client reads from it you don’t need the file with the plain text key. Like you don’t store the git credentials in a file, but with libsecret.

    I would prefer something that never ask for the password.

    Things like the gnome-keyring or kwallet keep all the passwords in an encrypted file, they get decrypted and kept in ram using your login password when you log into gnome/KDE session and programs can ask for passwords using some API. Once you log out the passwords are removed from ram and no one can read them. My goal is to have something like this, so I’m never asked for a password, I just log into my session and everything is available

    • Illecors@lemmy.cafe
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      I don’t like what you’re trying to do, but I think gnome-keyring would do this for you. Seahorse is the gui for it

    • damium@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I’n Windows it is not stored in a keyring but instead in the registry. This has basically the same security threat model as a local key file.

      The ssh-agent on Linux will do what you want with effectively the same security. The biggest difference being that it doesn’t run as a system service but instead runs in userspace which can make it easier to dump memory. There are some other agent services out there with additional security options but they don’t change the threat model much.