我们为什么选择标准 SSH 协议承载连接
长期稳定、生态成熟、易于审计、权限可控,我们用标准 SSH 协议承载隧道,并在节点上自研了用户级 SSH 服务。
CoderBoost 团队约 1 分钟阅读#技术原理#协议
选协议,我们看重四件事
- 长期稳定:开发者需要的是一整天、一整个月都稳定,而不是测速截图好看。
- 标准与成熟:SSH 已经被使用了三十年,实现成熟、审计充分、工具链完善。
- 身份清晰:每一个连接都对应一个明确的用户和设备凭据。
- 权限隔离:节点的管理权限不能因为用户连接而暴露。
为什么不是直接用系统自带的 sshd
系统 sshd 面向“登录服务器”设计:每个用户都是系统账号,权限边界不适合大规模的连接服务。我们在节点上运行自研的 SSH 服务:
- 用户不是系统账号,只能建立允许的转发,不能执行命令;
- 用户凭据由主控统一签发和撤销,节点只依据授权租约放行;
- 系统管理通道与用户服务完全隔离,在另一个端口、另一套凭据下。
设备凭据:私钥不出设备
- 每台设备独立生成密钥,私钥只保存在本机的系统安全存储中;
- 主控只保存公钥,并且在数据库层面禁止保存私钥;
- 凭据定期轮换,轮换期间新旧凭据有短暂的重叠窗口,连接不中断;
- 移除设备、修改密码时,凭据立即撤销,所有节点同步失效。
结果
一个标准、成熟、可审计、权限清晰的连接层。它不追求花哨,只追求一件事:让你连上之后,忘记它的存在。