Marcus Hardt
Apr 2026
oidc-agentRefresh Token (RT)RT safely on a users workstationAccess Token (AT) whenever
neededoidc-tokensh --oidc <OP>
AT is in
${XDG_RUNTIME_DIR}/bt_u${UID}mytokenRTs
…”mytoken token (MT), which
RT on the serverMT with a jobmotley-cueAT
.
oinitThe new kid on the block
kinit”ssh-certificatesoinit-ca: an online-ca for ssh-certificates
motley-cue for username + provisioningoinit-switch: ssh-serverside for automatic
usernameoinit-shell: ssh-serverside for added securityoinit: client side tool for automated ssh-certificate
handlingoinit finds tokens:
$BEARER_TOKEN${XDG_RUNTIME_DIR}/bt_u${UID}/tmp/bt_u${UID}oidc-agentoinitThe new kid on the block
kinit”ssh-certificatesoinit-ca: an online-ca for ssh-certificates
motley-cue for username + provisioningoinit-switch: ssh-serverside for automatic
usernameoinit-shell: ssh-serverside for added securityoinit: client side tool for automated ssh-certificate
handlingoinit finds tokens:
$BEARER_TOKEN${XDG_RUNTIME_DIR}/bt_u${UID}/tmp/bt_u${UID}oidc-agentUsage is trivial:
1. Tell ssh that host is under oinit control:
oinit add <ssh-server-fqdn> [<ssh-ca url>]
~/.ssh/config:
Match exec "oinit match %h %p"
User oinit
IdentityFile ~/.ssh/oinit_%h_%p
CertificateFile ~/.ssh/oinit_%h_%p-cert.pub
2. run ssh:
ssh <ssh-server-fqdn>
marcus@hank:~$ ssh ssh-oidc-web.data.kit.edu
[1] https://aai-dev.egi.eu/auth/realms/egi (Accounts: egi-dev)
[2] https://aai.egi.eu/auth/realms/egi (Accounts: egi, egi-checkin, egi2)
[3] https://accounts.google.com (Accounts: google, google2, google3)
[4] https://auth.didmos.nfdi-aai.de (Accounts: didmos)
[5] https://fels.scc.kit.edu/oidc/realms/fels (Accounts: delme-kit?)
[6] https://iam.deep-hybrid-datacloud.eu
[7] https://infraproxy.nfdi-aai.dfn.de
[8] https://keycloak.sso.gwdg.de/auth/realms/academiccloud (Accounts: academic-id)
[9] https://login-dev.helmholtz.de/oauth2 (Accounts: helmholtz-dev)
[10] https://login.aai.lifescience-ri.eu/oidc
[11] https://login.helmholtz.de/oauth2
[12] https://oidc.scc.kit.edu/auth/realms/kit (Accounts: kit, kit-delme)
[13] https://proxy.eduteams.org (Accounts: eduteams)
[14] https://proxy.myaccessid.org
[15] https://wlcg.cloud.cnaf.infn.it
? Please select a provider to use [1-15]: 2
X11 forwarding request failed on channel 0
mhardt@ssh-oidc-web:~$
websshFor those wo don’t want to install software
ATAT to contact
motley-cue (supported OPs)oinit-ca (get ssh-certificate)ssh (for shell)Account linking in wonderland
motley-cue look-up alise -
usernames