commit 6bd7433a897e1aeb306d77c9b3af1b9e497ec72d
parent f586fb6ac4672cbdb36a03adf3e75a611a9d96df
Author: pyratebeard <root@pyratebeard.net>
Date: Tue, 15 Nov 2022 23:58:30 +0000
where_the_sshadows_lie
Diffstat:
1 file changed, 21 insertions(+), 0 deletions(-)
diff --git a/entry/where_the_sshadows_lie.md b/entry/where_the_sshadows_lie.md
@@ -0,0 +1,21 @@
+For as long as I can remember I have used one ssh key pair for each device. I know there are some who prefer to use a different key for different accounts as well. I tried this in the past but felt it didn't increase the security sufficiently enough to warrant the complexity in my use case.
+
+I have three main devices; my desktop PC, my laptop, and my phone. This means that any system I need to ssh on to requires three entries in the *authorized_keys* file.
+
+I use `drist` for ensuring my keys are on my servers (see a [previous post](TK){target="_blank" rel="noreferrer"} about this tool), meaning I can connect from any of my devices.
+
+When I rebuilt my laptop recently I generated a new key pair, then updated my drist configuration and pushed it out to my systems. All was well until I wanted to connect to my account on [sdf.org](https://sdf.org){target="_blank" rel="noreferrer"}, and realised I had not pushed the updated public key for my laptop.
+
+This got me thinking about alternative ways of ssh key management. With regards to a GPG key, we usually create one key that belongs to our identity. In my case [my key](TK){target="_blank" rel="noreferrer"} is used with my email, git commit signing, and other encryption. The private key has been securely copied to my laptop and phone and imported into the GPG keyring.
+
+Could one ssh key pair for _my identity_ be enough? If the private key was securely copied to my devices, then my systems and any accounts that require ssh only need to know about one key.
+
+Of course this changes my threat model. If any of my devices are compromised I would have to replace the key on all of them. When a GPG key is loaded into your keyring you don't have to keep the private key. With ssh keys there is no keyring, ssh uses at the private key file when connecting. There is of course ssh-agent which can load the key in memory, but the private key still has to be read after a reboot.
+
+I know of GNOME keyring which can manage ssh keys, although I have not used it before.
+
+To get an idea of how others work I put out [a poll](TK){target="_blank" rel="noreferrer"} on Mastodon.
+
+[results]
+
+