this post was submitted on 20 Dec 2023
45 points (97.9% liked)
Linux
48209 readers
751 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Yes, it can be done. Not to the point of deleting your key (that makes no sense - you need the key), but
ssh-agent
is what you want. Add it to your shell config and it will only ask to be unlocked once per however often you define.I have this function defined and called:
This way it stores the unlocked key in memory until the end of the session.
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
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
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.