macOS
brew install opksshlocal Homebrew formula metadata
brew
Enables SSH to be used with OpenID Connect. Version 0.15.0 via Homebrew; verified 2026-06-24.
install
brew install opksshlocal Homebrew formula metadata
sudo apt install golang-github-openpubkey-opkssh-devDebian stable package indexes · golang-github-openpubkey-opkssh-dev · source: deb.debian.org
sudo dnf install opksshFedora Rawhide package metadata · opkssh · source: dl.fedoraproject.org
nix profile install nixpkgs#opksshnixpkgs package indexes · pkgs/by-name/op/opkssh/package.nix · source: api.github.com
winget install --id openpubkey.opkssh -eWindows Package Manager source index · openpubkey.opkssh · source: cdn.winget.microsoft.com
overview
Enables SSH to be used with OpenID Connect
history
opkssh, short for OpenPubkey SSH, brings OpenID Connect identity into ordinary SSH login flows. It lets administrators authorize identities such as email addresses and groups instead of distributing long-lived SSH public keys, while still using the stock SSH client and server protocol.
The tool is built on OpenPubkey, a protocol described in a 2023 IACR paper that binds a user-held public key into an OpenID Connect ID Token, turning that token into what the authors call a PK Token. opkssh applies that idea to SSH by generating an SSH key/certificate carrying the PK Token and by configuring sshd to verify it.
Cloudflare announced on 2025-03-25 that it had open-sourced OPKSSH under the OpenPubkey project. The announcement says the OpenPubkey protocol became an open source Linux Foundation project in 2023, while OPKSSH had remained closed source under BastionZero, later Cloudflare, until the donation.
The project moved quickly into normal package-manager territory for a security tool: its metadata lists packages for Homebrew, Debian development packages, Fedora, Nix, and Windows winget, and the README documents Homebrew, winget, Chocolatey, Nix, and direct binary installs.
A user runs `opkssh login`, authenticates in a browser with an OpenID Provider, and receives a generated SSH key whose public side contains the OpenPubkey token. On the server, opkssh is used through sshd's `AuthorizedKeysCommand` hook, so the verifier can extract the PK Token, validate the identity provider signature and expiry, and map the identity to a Unix or Windows account.
Operators use `/etc/opk/providers` to choose trusted OpenID Providers and client IDs, and `/etc/opk/auth_id` or per-user equivalents to authorize identities, subjects, or group claims. The design gives SSH administrators an SSO-style access list without changing the SSH wire protocol.
opkssh is interesting because it packages an identity-protocol research result as a small CLI that plugs into a decades-old Unix extension point. For package nerds, the notable bit is not a new daemon or a replacement SSH stack, but a cross-platform binary that makes SSH key lifecycle policy distributable through package managers.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
/etc/opk/providers/etc/opk/auth_id/etc/opk/policy.d/*.yml~/.opk/config.yml%ProgramData%\opk\providers%ProgramData%\opk\auth_idexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
opkssh | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/openpubkey/opkssh
install metadata
| Package key | brew:opkssh |
|---|---|
| Version | 0.15.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/opkssh |
| Homepage | https://eprint.iacr.org/2023/296 |
| Repository | https://github.com/openpubkey/opkssh |
| Upstream docs | https://github.com/openpubkey/opkssh#readme |
| License | Apache-2.0 |
| Source archive | https://github.com/openpubkey/opkssh/archive/refs/tags/v0.15.0.tar.gz |
| Last updated | 2026-06-24T19:03:06Z |
| Pulse | updated |
| Build dependencies | go |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | opkssh |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
golang-github-openpubkey-opkssh-dev 0.4.0-1
OpenPubkey SSH tools for OpenID SSH logins (library)
https://github.com/openpubkey/opkssh
sudo apt install golang-github-openpubkey-opkssh-devopkssh 0.4.0-1+b2
OpenPubkey SSH tools for OpenID SSH logins (program)
https://github.com/openpubkey/opkssh
sudo apt install opksshopkssh
nix profile install nixpkgs#opksshopkssh 0.14.0-2.fc45
OpenPubkey SSH
https://github.com/openpubkey/opkssh
sudo dnf install opksshopkssh-doc 0.14.0-2.fc45
Documentation for OpenPubkey SSH
https://github.com/openpubkey/opkssh
sudo dnf install opkssh-docopkssh-server 0.14.0-2.fc45
Server configuration for OpenPubkey SSH
https://github.com/openpubkey/opkssh
sudo dnf install opkssh-serveropkssh-server-selinux 0.14.0-2.fc45
SELinux policy for OpenPubkey SSH
https://github.com/openpubkey/opkssh
sudo dnf install opkssh-server-selinuxopenpubkey.opkssh
winget install --id openpubkey.opkssh -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.