Cloudflare近日宣布将OPKSSH(OpenPubkey SSH)代码库捐赠给Linux基金会旗下的OpenPubkey项目,这意味着开发者现在可通过开源方式实现基于单点登录(SSO)的SSH密钥管理。
OPKSSH通过将OpenID Connect(OIDC)协议与SSH协议无缝结合,使企业能够利用现有身份提供商(如Google、Azure AD)直接管理SSH访问权限,彻底告别手动配置SSH密钥的时代。
OPKSSH基于OpenPubkey协议,该协议通过在OIDC的ID Token中嵌入用户公钥,生成名为“PK Token”的短期证书。当用户执行opkssh login
时,流程如下:
- 生成临时SSH密钥对(默认有效期24小时);
- 通过浏览器跳转完成OIDC认证,获取包含公钥的PK Token;
- 将PK Token写入本地SSH公钥文件,私钥仅存于内存。
服务器端只需在SSH配置中添加两行验证逻辑(示例代码),即可将传统SSH公钥验证替换为PK Token验证。该方案兼容任何OIDC提供商,且无需修改SSH协议栈。
OPKSSH 三大核心优势
- 安全性跃升:临时密钥自动过期,消除长期密钥泄露风险。
- 运维简化:管理员通过邮件地址管理权限(如
authorized_emails
文件),无需跟踪密钥指纹。用户可在任意设备通过opkssh login
生成密钥,彻底解决密钥分发难题。 - 审计透明化:所有SSH登录事件均关联OIDC身份信息,天然支持SIEM系统集成。
适用场景与迁移成本
OPKSSH适用于已部署OIDC的企业环境,尤其是需严格管控云服务器或CI/CD系统访问权限的场景。迁移仅需:
- 在目标服务器运行安装脚本(
curl -sSfL https://install.opkssh.dev | sh
); - 在身份提供商注册OPKSSH客户端ID。
OpenPubkey SSH(OPKSSH)采用Apache 2.0许可证,开源地址:https://github.com/openpubkey/opkssh