3c72eeb6
Document how an agent connects with a delegate certificate
a73x 2026-08-19 08:10
Commit message
README.md
| Old | New | ||
|---|---|---|---|
| @@ -473,6 +473,18 @@ Any OpenSSH CA works. Mint a short-lived credential and hand it to an agent: | |||
| 473 | $ ssh-keygen -s mint -I claude-a -n alex -V +10m agent_key.pub | 473 | $ ssh-keygen -s mint -I claude-a -n alex -V +10m agent_key.pub |
| 474 | ``` | 474 | ``` |
| 475 | 475 | ||
| 476 | Nothing on the agent's side is git-collab-specific. `ssh-keygen -s` leaves | ||
| 477 | `agent_key-cert.pub` beside the key, ssh loads a `-cert.pub` sitting next to | ||
| 478 | an identity automatically, and git only needs pointing at the key: | ||
| 479 | |||
| 480 | ```console | ||
| 481 | $ GIT_SSH_COMMAND='ssh -i agent_key -o IdentitiesOnly=yes' \ | ||
| 482 | git clone ssh://git.example.com/tools.git | ||
| 483 | ``` | ||
| 484 | |||
| 485 | A `Host` block with `IdentityFile` and `CertificateFile` in `~/.ssh/config` | ||
| 486 | does the same when the certificate lives elsewhere. | ||
| 487 | |||
| 476 | The cert's principal must name an enrolled person and its CA must be enrolled | 488 | The cert's principal must name an enrolled person and its CA must be enrolled |
| 477 | *for that name* — `cadir/` lends identity, it never creates it. `access.conf` | 489 | *for that name* — `cadir/` lends identity, it never creates it. `access.conf` |
| 478 | never mentions delegates — the person holds the grants and the certificate | 490 | never mentions delegates — the person holds the grants and the certificate |