Cloudflare 开源 OpenPubkey SSH(OPKSSH),将单点登录集成到 SSH


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时,流程如下:

  1. 生成临时SSH密钥对(默认有效期24小时);
  2. 通过浏览器跳转完成OIDC认证,获取包含公钥的PK Token;
  3. 将PK Token写入本地SSH公钥文件,私钥仅存于内存。

服务器端只需在SSH配置中添加两行验证逻辑(示例代码),即可将传统SSH公钥验证替换为PK Token验证。该方案兼容任何OIDC提供商,且无需修改SSH协议栈。

OPKSSH 三大核心优势

  • 安全性跃升:临时密钥自动过期,消除长期密钥泄露风险。
  • 运维简化:管理员通过邮件地址管理权限(如authorized_emails文件),无需跟踪密钥指纹。用户可在任意设备通过opkssh login生成密钥,彻底解决密钥分发难题。
  • 审计透明化:所有SSH登录事件均关联OIDC身份信息,天然支持SIEM系统集成。

适用场景与迁移成本

OPKSSH适用于已部署OIDC的企业环境,尤其是需严格管控云服务器或CI/CD系统访问权限的场景。迁移仅需:

  1. 在目标服务器运行安装脚本(curl -sSfL https://install.opkssh.dev | sh);
  2. 在身份提供商注册OPKSSH客户端ID。

OpenPubkey SSH(OPKSSH)采用Apache 2.0许可证,开源地址:https://github.com/openpubkey/opkssh


相關推薦

2023-07-24

Go 实现的 ssh 客户端,发布 v0.1.8 新版本,支持批量登录,批量执行指定的命令。 GitHub:https://github.com/trzsz/trzsz-ssh Gitee:https://gitee.com/trzsz/tssh 目前支持在 tmux 和 Windows Terminal 中一次选择多台服务器,批量登

2022-05-31

集成虚拟终端、系统控制台和网络文件传输为一体的自由开源程序。它支持多种网络协议,包括 SCP,SSH,Telnet,rlogin 和原始的套接字连接,它也可以连接到串行端口。其软件名字 “PuTTY” 并没有特殊含义。 v0.77 是一个 featu

2023-08-01

【 Go 版 ssh 】tssh 发布 v0.1.9,优化了搜索和批量登录功能。 快捷键 操作 全局快捷键 非搜索快捷键 快捷键描述 Confirm Enter   确认并登录 Quit/Exit Ctrl+C Ctrl+Q q Q 取消并退出 Move Prev Ctrl+K S

2023-07-05

新版本支持记住密码、记住 keyboard interactive 的答案自动登录。 你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有服务器管理功能而苦恼? tssh 支持选择( 搜索 ) ~/.ssh/config 中配置的服务器进行登录,支持

2023-06-19

持选择( 搜索 ) ~/.ssh/config 中配置的服务器进行登录,支持酷炫的 vim 操作习惯。 tssh 内置支持 trzsz (trz /tsz) ,一并解决了 Windows 中使用 trzsz ssh 上传速度慢的问题。 安装方法 服务器上要安装 trzsz&n

2023-07-19

h 终端的服务器管理问题。 trzsz-ssh (tssh) 支持配置服务器登录密码,解决每次手工输入密码的麻烦( 在自己能控制的服务器,推荐使用公私钥登录 )。 trzsz-ssh (tssh) 内置支持 trzsz (trz /tsz) 文件传输工具,一并解决了 Wind

2023-06-05

: 1 、支持选择( 搜索 )~/.ssh/config 中的服务器,进行登录。相当于 tssh 内置了服务器管理功能,并且类似 vim 的操作方式不需要用到鼠标。 2 、tssh 内置支持 trzsz ( trz / tsz ),这在 Windows 平台很有用,解决了 trzsz ssh 上传速度

2023-07-12

A 的,私钥 ~/.ssh/id_rsa,公钥 ~/.ssh/id_rsa.pub。 登录服务器,将公钥( 即前面生成密钥对时 .pub 后缀的文件内容 )追加写入服务器上的 ~/.ssh/authorized_keys 文件中。 一行代表一个客户端的公钥,注意 ~

2024-06-25

【 低延迟的 ssh 】tsshd 发布了 v0.1.0,开源地址:https://github.com/trzsz/tsshd ,Gitee:https://gitee.com/trzsz/tsshd 软件简介 tsshd 是类似 mosh-server 的开源程序,主要实现 sshd 相关的功能,与 tssh 客户端使用 UDP ( KCP )通讯,达

2024-01-16

果:写了个小工具 trzsz ( trz / tsz ) 自用,接着在 GitHub 上开源分享出来:https://github.com/trzsz/trzsz 2022 年 2 月,TypeScript 版 trzsz.js 库 背景:trzsz 开始只支持 iTerm2,网友提出想要支持其他终端,例如 electerm 和 tabby 等。 结

2023-07-18

板机上使用 tmux,则需要再使用 trzsz --relay ssh 登录远程服务器,如: trzsz ssh jump_server tmux trzsz --relay ssh remote_server 在服务器上使用 与 lrzsz (rz /sz) 类似,使用 trz 命令上传文件,使用 tsz /path/to/

2023-02-04

个或多个信号被屏蔽的情况下启动,会产生干扰, 例如登录宽限期计时器。 ssh(1) : 如果无法加载基于主机的身份验证的主机密钥,则发出警告。 sshd(8): 为hostbased auth添加服务器调试, 认证成功后排队并发送给客户端,同时

2024-07-09

(远程机器)上安装 tsshd。 使用 tssh --udp 登录服务器。如下配置可省略 --udp 参数: Host xxx #!! UdpMode yes #!! TsshdPath ~/go/bin/tsshd   原理简介 tssh 在客户端扮演 ssh 的角色,tsshd 

2024-08-28

(远程机器)上安装 tsshd。 使用 tssh --udp 登录服务器。如下配置可省略 --udp 参数: Host xxx #!! UdpMode yes #!! UdpPort 61000-62000 #!! TsshdPath ~/go/bin/tsshd   原理简介 tssh 在客户端扮演 ssh&nbs