HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
openpubkey
opkssh
Go2025–2025
openpubkey / opkssh

opkssh

opkssh (OpenPubkey SSH)

4Distinct people
8Mentions
0Explicit recommenders
2.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

opkssh (OpenPubkey SSH)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by 6-hour interval8 dated mentions

Observed mentions: 2025-03-25 15:06:13 UTC to 2025-04-01 05:12:30 UTC.

01232025-03-25 12:00:00 UTC to 2025-03-25 18:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 commentsMar 25, 12:002025-03-25 18:00:00 UTC to 2025-03-26 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-03-26 00:00:00 UTC to 2025-03-26 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-26 06:00:00 UTC to 2025-03-26 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-26 12:00:00 UTC to 2025-03-26 18:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-03-26 18:00:00 UTC to 2025-03-27 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-03-27 00:00:00 UTC to 2025-03-27 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-27 06:00:00 UTC to 2025-03-27 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-27 12:00:00 UTC to 2025-03-27 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-27 18:00:00 UTC to 2025-03-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-28 00:00:00 UTC to 2025-03-28 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-28 06:00:00 UTC to 2025-03-28 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-28 12:00:00 UTC to 2025-03-28 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-28 18:00:00 UTC to 2025-03-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMar 28, 18:002025-03-29 00:00:00 UTC to 2025-03-29 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-29 06:00:00 UTC to 2025-03-29 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-29 12:00:00 UTC to 2025-03-29 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-29 18:00:00 UTC to 2025-03-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-30 00:00:00 UTC to 2025-03-30 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-30 06:00:00 UTC to 2025-03-30 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-30 12:00:00 UTC to 2025-03-30 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-30 18:00:00 UTC to 2025-03-31 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-03-31 00:00:00 UTC to 2025-03-31 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-31 06:00:00 UTC to 2025-03-31 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-31 12:00:00 UTC to 2025-03-31 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-31 18:00:00 UTC to 2025-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-04-01 00:00:00 UTC to 2025-04-01 06:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsApr 1, 00:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Mar 25, 12:002025-03-25 12:00:00 UTC2025-03-25 18:00:00 UTC303
Mar 25, 18:002025-03-25 18:00:00 UTC2025-03-26 00:00:00 UTC101
Mar 26, 00:002025-03-26 00:00:00 UTC2025-03-26 06:00:00 UTC000
Mar 26, 06:002025-03-26 06:00:00 UTC2025-03-26 12:00:00 UTC000
Mar 26, 12:002025-03-26 12:00:00 UTC2025-03-26 18:00:00 UTC101
Mar 26, 18:002025-03-26 18:00:00 UTC2025-03-27 00:00:00 UTC101
Mar 27, 00:002025-03-27 00:00:00 UTC2025-03-27 06:00:00 UTC000
Mar 27, 06:002025-03-27 06:00:00 UTC2025-03-27 12:00:00 UTC000
Mar 27, 12:002025-03-27 12:00:00 UTC2025-03-27 18:00:00 UTC000
Mar 27, 18:002025-03-27 18:00:00 UTC2025-03-28 00:00:00 UTC000
Mar 28, 00:002025-03-28 00:00:00 UTC2025-03-28 06:00:00 UTC000
Mar 28, 06:002025-03-28 06:00:00 UTC2025-03-28 12:00:00 UTC000
Mar 28, 12:002025-03-28 12:00:00 UTC2025-03-28 18:00:00 UTC000
Mar 28, 18:002025-03-28 18:00:00 UTC2025-03-29 00:00:00 UTC000
Mar 29, 00:002025-03-29 00:00:00 UTC2025-03-29 06:00:00 UTC000
Mar 29, 06:002025-03-29 06:00:00 UTC2025-03-29 12:00:00 UTC000
Mar 29, 12:002025-03-29 12:00:00 UTC2025-03-29 18:00:00 UTC000
Mar 29, 18:002025-03-29 18:00:00 UTC2025-03-30 00:00:00 UTC000
Mar 30, 00:002025-03-30 00:00:00 UTC2025-03-30 06:00:00 UTC000
Mar 30, 06:002025-03-30 06:00:00 UTC2025-03-30 12:00:00 UTC000
Mar 30, 12:002025-03-30 12:00:00 UTC2025-03-30 18:00:00 UTC000
Mar 30, 18:002025-03-30 18:00:00 UTC2025-03-31 00:00:00 UTC101
Mar 31, 00:002025-03-31 00:00:00 UTC2025-03-31 06:00:00 UTC000
Mar 31, 06:002025-03-31 06:00:00 UTC2025-03-31 12:00:00 UTC000
Mar 31, 12:002025-03-31 12:00:00 UTC2025-03-31 18:00:00 UTC000
Mar 31, 18:002025-03-31 18:00:00 UTC2025-04-01 00:00:00 UTC000
Apr 1, 00:002025-04-01 00:00:00 UTC2025-04-01 06:00:00 UTC110

What Hacker News says

8 sources
opkssh (https://github.com/openpubkey/opkssh) it lets you configure OpenSSH so you can ssh using your OpenID Connect identity without adding a trusted party other than the IDP. I'm trying to figure out how to TOFU a MFA HW token (yubikey) on first login so we don't even have to trust the IDP. The trick part is to design so if you lose your HW Token you aren't locked out without reintroducing trust. Maybe use a backup code or backup yubikey or the DKIM trick to allow timelocked resets of the HW Token via an email.
In Ask HN: What are you working on? (March 2025)
> Is anybody aware of something like this that can be automated for things like ansible Doesn't ansible already get you all of this? What is the feature gap you are looking to fill? That said you definitely use opkssh in automation. OpenPubkey already supports the github-action and gitlab-CI OpenID Providers so in theory you could use opkssh to let a github-action or gitlab-CI workflow ssh into servers under that workflows identity. That is, have a policy on your SSH server that allows only "workflows from repo X triggered by a merge into main ...". Additionally you can always do machine-identity using OpenID Connect either by running your own JWKS server. While this works in OpenPubkey, we haven't added this to opkssh yet but we have an issue for it. If you want support for this add your usecase as a comment https://github.com/openpubkey
Read the rest
In Open-sourcing OpenPubkey SSH (OPKSSH): integrating single sign-on with SSH
> As for pre-seeded/offline JWKS, yeah the biggest concern is around availability. The pre-seeded case would handle fresh VM setups before networking might be fully configured (though other auth methods as fallback would be good enough in most cases, I think). I've been thinking about this as breakglass problem. How do you get into your server if your IDP is offline or you lose internet connectivity. My recommendation has been to have a standard public key SSH account breakglass. A pre-seeded JWKS or alternative JWKS would let you have the same policy controls but allow you to create valid keys in extreme circumstances. I really like this. I created an issue to track this. Let me knof you want to do the implementation https://github.com/openpubkey/opkssh/issues/44
In Open-sourcing OpenPubkey SSH (OPKSSH): integrating single sign-on with SSH
This is very interesting! It looks like there's a config file [1] to set up username <- email,issuer associations. It looks like multiple identities (from different IdPs even) can access the same username, which is useful. There's also a config file for allowed IdPs [2] specifying the expected client IDs (btw, the docs here say all fixed duration options are for "24 hours" even 48h and 1week). This does seem to impose the limitation of exactly one client ID per IdP, which could complicate rotating client IDs. Walking this through, given that OpenID Connect is specifically mentioned vs. bare OAuth2, I assume the ID token signatures are themselves verified by looking up ${ISSUER_URI}/.well-known/openid-configuration and following the jwks_uri found there. Is the JWKS response cached? Can it be pre-seeded and/or replaced with an offline copy
Read the rest
In Open-sourcing OpenPubkey SSH (OPKSSH): integrating single sign-on with SSH
I'm surprised it defaults to writing out key material into the filesystem[1] when SSH Agent has existed for quite a while. This use case seems especially relevant to sticking them in the agent given that (IIUC) these are short-lived certs anyway, so if your agent bounced you'd just get a fresh one without drama I do see <https://github.com/openpubkey/opkssh/issues/6#issuecomment-2...> so I'm glad it's conceptually on the radar, I'm just saying I'm surprised it wasn't part of Cloudflare's best practices already 1: https://github.com/openpubkey/opkssh/blob/v0.3.0/commands/lo...
In Open-sourcing OpenPubkey SSH (OPKSSH): integrating single sign-on with SSH

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.