diff --git a/AGENTS.md b/AGENTS.md index 8bb737c..96fd982 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2789,3 +2789,66 @@ Client (scp -t) Server (scp -f) Protocol Message **最后更新**:2026-06-20 13:00 **版本**:1.29(Phase 8.3 SCP subsystem 测试完成) + +--- + +**最后更新**:2026-06-20 13:45 +**版本**:1.30(Phase 8.3 Docker 测试完成) + +## Docker 测试完成(2026-06-20)⭐⭐⭐⭐ + +**测试时间**:约 30 分钟 +**测试环境**:Docker alpine:3.8 + OpenSSH_7.7p1 + +### macOS Docker Network 解决方案 ⭐⭐⭐⭐⭐ + +**问题诊断**: +- macOS Docker Desktop 使用 Linux VM(hyperkit) +- Container `--network host` 无法访问 macOS host 的 127.0.0.1 +- SSH server 默认监听 127.0.0.1(无法从 Docker 访问) + +**解决方案**: +- ✅ SSH server bind_address 改为 0.0.0.0(监听所有接口) +- ✅ Docker container 使用 host.docker.internal 访问 macOS host +- ✅ SSH connection 成功(host key exchange) + +### 测试结果 ⭐⭐⭐⭐ + +**成功部分**: +- ✅ Docker OpenSSH_7.7p1 安装完成(旧 SSH client) +- ✅ SSH server 监听 0.0.0.0:2024 +- ✅ SSH connection 成功(host key exchange) +- ✅ SSH handshake 开始(算法协商) + +**失败部分**: +- ❌ MAC verification failed("Corrupted MAC on input") +- OpenSSH_7.7p1 支持 AES-GCM,但协商 fallback 到 AES-CTR +- AES-CTR + HMAC-SHA256 实现与旧 SSH client 不兼容 + +### 技术分析 ⭐⭐⭐⭐⭐ + +**OpenSSH_7.7p1 支持的加密算法**: +``` +aes256-gcm@openssh.com ← 支持 AES-GCM +aes256-ctr ← 支持 AES-CTR +chacha20-poly1305@openssh.com +``` + +**算法协商结果**: +- Client 支持 AES-GCM,但协商 fallback 到 AES-CTR +- Server log 显示使用 AES-CTR mode +- MAC verification failed 说明 HMAC-SHA256 不兼容 + +**需要调试**(约 2-3 小时): +- AES-CTR + HMAC-SHA256 MAC calculation +- OpenSSH 7.7p1 MAC format compatibility +- SSH packet encryption/decryption + +### Git commit 完成清单 ⭐⭐⭐⭐⭐ + +14. **f124082**: SSH bind_address 0.0.0.0(Docker container access) + +--- + +**最后更新**:2026-06-20 13:45 +**版本**:1.30(Phase 8.3 Docker 测试完成)