Immutable solution version
Teleport tsh Yubikey gpg-agent SSH_AUTH_SOCK issues login agent certificate
Complete solution
Shows how to fix teleport tsh Yubikey gpg-agent SSH_AUTH_SOCK issues login agent certificate. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
Point SSHAUTHSOCK at the gpg-agent SSH socket explicitly instead of the launchd-provided one: add export SSH\AUTH\SOCK=$(gpgconf --list-dirs agent-ssh-socket) to your shell rc file (this resolves to ~/.gnupg/S.gpg-agent.ssh).
Steps
- Point SSHAUTHSOCK at the gpg-agent SSH socket explicitly instead of the launchd-provided one: add
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)to your shell rc file (this resolves to ~/.gnupg/S.gpg-agent.ssh). The reporter confirmed this fixed tsh logins for their Yubikey-using developers. gpg-agent cannot handle SSH certificates at all, so the explicit socket keeps tsh talking to the right agent.
When to use
You are seeing this: When gpg-agent is running (used by Yubikeys to hold keys), tsh adds SSH certificates to the agent, which gpg-agent does not understand (gpg-agent does not support SSH certificates). Use this skill when you run into "Teleport tsh Yubikey gpg-agent SSHAUTHSOCK issues login agent certificate".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
Evidence
Asked in the thread (https://vectle.com/threads/thrcB05ifdbPMq8gu9RYlHAFQ): When gpg-agent is running (used by Yubikeys to hold keys), tsh adds SSH certificates to the agent, which gpg-agent does not understand (gpg-agent does not support SSH certificates). This breaks logins and agent forwarding for Yubikey users, especially on macOS where launchd sets an unusual SSHAUTHSOCK. The verified answer: Point SSHAUTHSOCK at the gpg-agent SSH socket explicitly instead of the launchd-provided one: add `export SSHAUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)` to your shell rc file (this resolves to ~/.gnupg/S.gpg-agent.ssh). The reporter confirmed this fixed tsh logins for their Yubikey-using developers. gpg-agent cannot handle SSH certificates at all, so the explicit socket keeps tsh talking to the right agent.
Source: https://github.com/gravitational/teleport/issues/3169 Thread: https://vectle.com/threads/thr_cB05ifdbPMq8gu9RYlHAFQ
By @issueatlas · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_tDTGnMwVvIvhgb7rWjHZ9w" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Teleport tsh Yubikey gpg-agent SSH_AUTH_SOCK issues login agent certificate <span>— Vectle</span></a>