更新SSH自动部署实机通过证据及剩余验收清单

This commit is contained in:
xuans 2026-09-30 19:20:57 +08:00
parent 714753236f
commit e99df024ef
3 changed files with 50 additions and 0 deletions

View File

@ -1,4 +1,29 @@
# Linux 生产流程测试记录
## 最新实机结果(2026-09-30 19:20,SSH 自动部署通过一次复测)
### 候选身份与部署
- 源码:714753236f584a2bc705e271334c697dc7f9adbd,发布清单 source_dirty=false。
- 本地目录:build/release-ssh-reload-20260930/Scert-20260930-V0.1.0。
- 归档 SHA-256:716c5167bfb2532bc2276c84d1bf087cfd686e1cb736a2e18765a131f6c9855e,本地和远端一致。
- 主程序 SHA-256:a39c8b0beaf2dc31e3bdc3b2aa774651e6d8e934ab956058518b10f71d9daeb2,本地和远端一致。
- 密码 SCP 上传后在 /tmp/scert-ssh-reload-20260930 校验全部 SHA256SUMS,再使用正式 install-linux.sh。第一次因 Scert-storage.socket 仍在监听被安装器拒绝;停止相关服务后安装成功,Scert 与目录服务 socket 已恢复 active。
- 安装器自动保留旧发布文件于 /scert/.install-jD3pl0Pp,没有把该目录作为验收条件,也未擅自删除。未创建独立远端数据备份或辅助验收脚本。
### 页面、接口与目标机交叉验证
- 管理入口返回 200,healthz=ok、readyz=ready,正常域名 HTTPS 校验未关闭。浏览器忽略缓存刷新并重新登录,编辑既有服务器记录,没有新建重复资源。
- PUT /api/v1/servers/3cfe6b82-6807-421d-88ab-a2034370375b 于 11:18:58.026842 UTC 返回 200,耗时 1844 毫秒。
- GET /api/v1/servers 复读:auth_method=private_key,ssh_key_status=deployed,ssh_key_error 为空,ssh_key_deployed_at 和 ssh_key_tested_at 均为 2026-09-30T11:18:58Z。
- 目标机 SSH 日志:11:18:56.523794 UTC 密码认证成功,11:18:57.519436 UTC 收到重载信号,11:18:57.541562 UTC 恢复监听,11:18:57.890368 UTC 公钥认证成功;对应指纹存在于 authorized_keys。
- sshd -t 通过,公钥认证与密码认证均启用,Scert 与 ssh 均 active。Scert 只有在私钥连接执行 true 成功后才保存 deployed,本次页面结果和目标机日志一致。
### 验收边界
- 本批后端全量测试、静态检查、构建和三包竞态检查全部通过,不等同于外部数据库矩阵通过。
- 本轮保留现有数据库和失败记录进行针对性修复验证,不是清库首次初始化验收;未重新申请证书、未执行实际证书推送或 Nginx 重载/回滚,不重复沿用历史通过记录。
- 第二台真实服务器、域名服务器多对多生产推送、三数据库和最终生产门禁尚未完成。总体验收仍为 P0-03 完成待复审,不新增整体放行结论。
### 2026-09-30 19:10 现场证据补充
本地竞态检查已全部通过。远端密码 SSH 读取精确日志显示:SSH 于 10:27:40.559700 UTC 收到重载信号,Scert 于 10:27:40.566606 UTC 私钥连接被拒绝,SSH 于 10:27:40.583273 UTC 恢复监听。该次失败处于监听重建窗口;候选仍需补充公钥安装后有界重试,再构建部署复核。此处仅是历史失败日志的定位证据,不是重新通过生产验收。

View File

@ -1,4 +1,15 @@
# Scert 整改任务执行清单
## 最新执行记录(2026-09-30 19:20,SSH 自动部署阻塞已通过一次实机复测)
- [x] 两批修复已中文提交推送;7147532 为实际部署源码提交。
- [x] 全量后端测试、静态检查、构建及部署/接口/应用竞态检查通过。
- [x] 正式包由干净提交构建,通过密码上传与包内校验;安装器先拒绝仍运行的证书目录 socket,停止该 socket 和服务后正常升级,再恢复 socket 与主服务。
- [x] 页面保留并重新编辑既有失败服务器,PUT 返回 200;状态 deployed、错误为空、私钥认证方式和两项成功时间均经接口复读确认。
- [x] 目标 SSH 日志确认密码、公钥认证先后成功;公钥文件及 sshd 配置通过只读核对,未输出私钥或密码。
- [x] 三份清单/记录已同步本轮本地和实机证据;不再使用未经逐项统计的完成百分比。
- [ ] 后续继续真实证书推送、Nginx 校验/重载/回滚、多对多、任务恢复和三数据库验证。
- [!] 第二台真实服务器仍缺失;总体验收保持 P0-03 完成待复审,不以本项成功提前升级整项状态。
### 19:13 执行补充:有界重试源码与回归完成
- [x] 只在公钥安装后私钥回连处接入重试,保留原私钥认证方式和已登记主机指纹,最多五次尝试。

View File

@ -1,4 +1,18 @@
# Scert 整改、合并与优化清单
## 最新进度(2026-09-30 19:20,自动 SSH 公钥部署实机通过,整体验收未通过)
**总体验收仍为 P0-03:完成,待复审。** 当前 SSH 阻塞已获得一次真实生产页面复测成功证据,不得扩大为证书推送、多服务器或全部生产门禁通过。下方同日较早的“尚未部署”“竞态运行中”为历史快照。
- [x] 已提交并推送:1a317c2 默认单次协商、7147532 SSH 重载后短暂连接拒绝的有界重试。
- [x] 本批后端全量测试、静态检查、构建、差异检查通过;竞态检查部署包使用缓存,接口 156.792 秒、应用 62.278 秒,退出 0。
- [x] 正式 Linux 候选发布清单为 source_commit=714753236f584a2bc705e271334c697dc7f9adbd、source_dirty=false;通过密码 SCP 上传、包内校验和正式安装器部署。
- [x] 本地与远端主程序 SHA-256 均为 a39c8b0beaf2dc31e3bdc3b2aa774651e6d8e934ab956058518b10f71d9daeb2;管理入口、healthz、readyz 正常,未关闭 TLS 校验。
- [x] 正式页面编辑既有服务器 3cfe6b82-6807-421d-88ab-a2034370375b;2026-09-30 19:18:58 北京时间 PUT 返回 200,耗时 1844 毫秒。
- [x] 接口复读确认 auth_method=private_key、ssh_key_status=deployed、ssh_key_error 为空,部署和测试时间均为 2026-09-30T11:18:58Z。目标机确认先密码认证、随后公钥认证成功,对应公钥存在,sshd 配置校验通过。
- [x] 本轮复测保留既有失败记录以验证修复,未清库、未新建重复服务器;这是针对性升级复测,不是清库首次初始化全流程验收。
- [ ] 下一步:真实证书目录创建、证书与私钥推送、Nginx 校验和重载、失败回滚、一台服务器多域名及任务恢复等完整验证。
- [!] 第二台真实服务器和三数据库生产矩阵仍未完成;不新增整项复审通过,不承诺 9 月 30 日全部完成或 10 月 1 日已经满足上线条件。
### 19:13 开发补充:SSH 重载间隙处理已实现
- [x] 公钥安装后的私钥回连已增加最多五次尝试,间隔为 100、200、400、800 毫秒;只重试底层拨号连接拒绝,不重试认证失败、指纹不匹配或其他网络错误。