Subject: bug#55661: closed (Re: bug#55661: /etc/ssh/authorized_keys.d contains keys that have been removed)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 26 May 2022 15:21:03 +0000

Your bug report

#55661: /etc/ssh/authorized_keys.d contains keys that have been removed

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
55661: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55661
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#55661: /etc/ssh/authorized_keys.d contains keys that have been removed
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Date: Thu, 26 May 2022 17:20:34 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Ludovic Courtès <[email-masked]> skribis:

> Anyway, that code does intend remove the directory before copying it,
> but there’s a typo:
>
>   (delete-file-recursively "/etc/authorized_keys.d")

Fixed in 4577f3c6b60ea100e521c246fb169d6c05214b20.

Ludo'.

Subject: /etc/ssh/authorized_keys.d contains keys that have been removed
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Date: Thu, 26 May 2022 17:02:00 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

In the wake of <https://issues.guix.gnu.org/55359#3>, I realized that
/etc/ssh/authorized_keys.d is stateful: we copy files from the
authorized-key directory there, but files already present remain.
IOW, keys remain authorized.

Why are we copying that directory instead of making a symlink to the
directory computed by ‘authorized-key-directory’ that’s in /gnu/store?

This is explained in ‘openssh-activation’:

        ;; 'sshd' complains if the authorized-key directory and its parents
        ;; are group-writable, which rules out /gnu/store.  Thus we copy the
        ;; authorized-key directory to /etc.

Anyway, that code does intend remove the directory before copying it,
but there’s a typo:

  (delete-file-recursively "/etc/authorized_keys.d")

Can you spot it?

Ludo’.