Based on the discussion in the bug #1654830, we should make OpenSSH using the /run/user directory for the things that belong there, namely:
* The location of file with information about authentication
* The default location of the ssh-agent socket (in Gnome, gnome-keyring is already taking the socket here)
* The default location of the forwarded kerberos credential cache
* The location of the forwarded ssh-agent socket
The issue with using /tmp is mostly when the tmpfs is full, which can produce unexpected behavior (failing agent forwarding, kerberos authentication ...)
The upstream acceptance is questionable (it is systemd), but with proper configure checks, it should be possible to implement it in a clean and portable way.
I assume OpenSSH should claim the /run/user/EUID/openssh/ directory, where the separate temporary files should be placed.
I submitted the upstream bug with a patch. Expanded commits are available here:
I would be happy for feedback or testing.
Would this also capture the GSSAPI/Kerberos ticket forwarding or does that happen down in the krb5 libs (/tmp/krb5cc_1000_15475)?
Yes, this captures also the kerberos tickets, as mentioned in the bug description:
We already carry in the RHEL patches to be able to configure the location of the kerberos tickets in krb5.conf, but if this file does not provide any guidance, the OpenSSH falls back to the default (with this patch, it would be /run/user/...).