From 10d49bf6e508f6f94dec72dce2c7af19127401cc Mon Sep 17 00:00:00 2001 From: Kevin Lyda <kevin@lyda.ie> Date: Wed, 14 May 2025 23:02:58 +0100 Subject: [PATCH] Create the ssh dir if it's missing --- key/key.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/key/key.go b/key/key.go index cb4ade4..92f1373 100644 --- a/key/key.go +++ b/key/key.go @@ -20,7 +20,12 @@ func Add(login, public string) error { keyline := fmt.Sprintf(keytemplate, bulletin, login, public) - keyfile := path.Join(xdg.Home, ".ssh", "authorized_keys") + sshdir := path.Join(xdg.Home, ".ssh") + err = os.MkdirAll(sshdir, 0700) + if err != nil { + return err + } + keyfile := path.Join(sshdir, "authorized_keys") f, err := os.OpenFile(keyfile, os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0600) if err != nil { -- GitLab