Bug 2374928 - ssh.ephemeral-authorized_keys-all credential broken by Fedora template unit
Summary: ssh.ephemeral-authorized_keys-all credential broken by Fedora template unit
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: selinux-policy
Version: 42
Hardware: Unspecified
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Zdenek Pytela
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-06-26 11:45 UTC by Allison Karlitskaya
Modified: 2026-06-08 17:40 UTC (History)
13 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-06-08 17:40:03 UTC
Type: ---
Embargoed:
fedora-admin-xmlrpc: mirror+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker FC-1750 0 None None None 2025-06-26 11:47:32 UTC

Description Allison Karlitskaya 2025-06-26 11:45:39 UTC
I originally filed this upstream: https://github.com/systemd/systemd/issues/37944

Basically, upstream system supports setting a system-wide credential to specify (from a hypervisor) an ssh key which can be used to login to every account on the system.  This is normally setup by the systemd-ssh-generator.

If there is an existing ssh service, however, the generator simply symlinks to that.  Fedora provides such a service.  This is on a Fedora 42 system:

[root@fedora-42-127-0-0-2-2201 generator]# ls -l *ssh*
lrwxrwxrwx. 1 root root  37 Jun 26 11:38 sshd-unix-local@.service -> /usr/lib/systemd/system/sshd@.service
-rw-r--r--. 1 root root 279 Jun 26 11:38 sshd-unix-local.socket
lrwxrwxrwx. 1 root root  37 Jun 26 11:38 sshd-vsock@.service -> /usr/lib/systemd/system/sshd@.service
-rw-r--r--. 1 root root 306 Jun 26 11:38 sshd-vsock.socket
[root@fedora-42-127-0-0-2-2201 generator]# cat /usr/lib/systemd/system/sshd@.service
[Unit]
Description=OpenSSH per-connection server daemon
Documentation=man:sshd(8) man:sshd_config(5)
Wants=sshd-keygen.target
After=sshd-keygen.target
# Migration for Fedora 38 change to remove group ownership for standard host keys
# See https://fedoraproject.org/wiki/Changes/SSHKeySignSuidBit
Wants=ssh-host-keys-migration.service

[Service]
# Set option as empty variable to avoid warnings upon expanding the command line
# when the config file under /etc does not exist or is empty.
Environment=OPTIONS=
EnvironmentFile=-/etc/sysconfig/sshd
ExecStart=-/usr/sbin/sshd -i $OPTIONS
StandardInput=socket


Compare this to an Arch system which doesn't provide its own (and therefore defaults to the upstream behaviour):

[root@archlinux generator]# ls -l ssh*
-rw-r--r-- 1 root root 376 Jun 26 11:41 sshd-generated@.service
lrwxrwxrwx 1 root root  46 Jun 26 11:41 sshd-unix-local@.service -> /run/systemd/generator/sshd-generated@.service
-rw-r--r-- 1 root root 279 Jun 26 11:41 sshd-unix-local.socket
lrwxrwxrwx 1 root root  46 Jun 26 11:41 sshd-vsock@.service -> /run/systemd/generator/sshd-generated@.service
-rw-r--r-- 1 root root 306 Jun 26 11:41 sshd-vsock.socket
[root@archlinux generator]# cat /run/systemd/generator/sshd-generated@.service
# Automatically generated by systemd-ssh-generator

[Unit]
Description=OpenSSH Per-Connection Server Daemon
Documentation=man:systemd-ssh-generator(8) man:sshd(8)
[Service]
ExecStart=-/usr/bin/sshd -i -o "AuthorizedKeysFile ${CREDENTIALS_DIRECTORY}/ssh.ephemeral-authorized_keys-all .ssh/authorized_keys"
StandardInput=socket
ImportCredential=ssh.ephemeral-authorized_keys-all

Reproducible: Always

Steps to Reproduce:
Try to use a VM runner which configures ephemeral ssh keys using credentials.  Run Fedora 42 on it and notice that you can't login.

Comment 1 Dmitry Belyavskiy 2025-06-27 08:43:09 UTC
I merged the OpenSSH part: https://src.fedoraproject.org/rpms/openssh/pull-request/101

Needs a SELinux counterpart, switching the component

Comment 2 Fedora Update System 2025-06-27 08:55:44 UTC
FEDORA-2025-d59a98451f (openssh-10.0p1-4.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-d59a98451f

Comment 3 Fedora Update System 2025-06-27 10:17:03 UTC
FEDORA-2025-d59a98451f (openssh-10.0p1-4.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 4 Dmitry Belyavskiy 2025-06-27 10:57:48 UTC
Reopening as we still need to fix the SELinux part

Comment 5 Zdenek Pytela 2025-07-08 11:19:13 UTC
Debugging data from the openssh PR:

type=AVC msg=audit(1750946630.739:285): avc:  denied  { read } for  pid=1396 comm="sshd-session" name="ssh.ephemeral-authorized_keys-all" dev="tmpfs" ino=2 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:init_var_run_t:s0 tclass=file permissive=1
type=AVC msg=audit(1750946630.739:285): avc:  denied  { open } for  pid=1396 comm="sshd-session" path="/run/credentials/sshd@3-3164240626:22-2:3164240630.service/ssh.ephemeral-authorized_keys-all" dev="tmpfs" ino=2 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:init_var_run_t:s0 tclass=file permissive=1
type=SYSCALL msg=audit(1750946630.739:285): arch=x86_64 syscall=openat success=yes exit=ENXIO a0=ffffffffffffff9c a1=55e063017f10 a2=800 a3=0 items=1 ppid=1 pid=1396 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm=sshd-session exe=/usr/libexec/openssh/sshd-session subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 key=(null)
type=CWD msg=audit(1750946630.739:285): cwd=/
type=PATH msg=audit(1750946630.739:285): item=0 name=/run/credentials/sshd@3-3164240626:22-2:3164240630.service/ssh.ephemeral-authorized_keys-all inode=2 dev=00:3b mode=0100400 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:init_var_run_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0

Comment 6 Fedora Release Engineering 2026-05-06 13:22:20 UTC
This message is a reminder that Fedora Linux 42 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 42 on 2026-05-13.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '42'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 42 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 7 Aoife Moloney 2026-06-08 17:40:03 UTC
Fedora Linux 42 entered end-of-life (EOL) status on 2026-05-27.

Fedora Linux 42 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.