# SSH服务器测试计划 ⭐⭐⭐⭐⭐ ## 测试目标 - 测试SSH服务器基本功能 - 测试密钥交换、认证、加密通道 - 测试SFTP、SCP、rsync功能 --- ## 测试环境准备 ### 1. 启动SSH服务器 **SSH服务器端口**:2024(避免与系统SSH冲突) **启动命令**: ```bash cargo run --release --package markbase-core -- ssh-server ``` 或: ```bash ./target/release/markbase-core ssh-server ``` --- ## 测试项目 ### 测试1:SSH连接测试(Phase 1-3) **测试命令**: ```bash ssh -p 2024 localhost ``` **预期结果**: - ✅ SSH版本交换成功(SSH-2.0-MarkBaseSSH_1.0) - ✅ SSH密钥交换成功(Curve25519) - ✅ SSH加密通道建立成功(AES-256-CTR + HMAC-SHA256) --- ### 测试2:SSH认证测试(Phase 5) **测试命令**: ```bash ssh -p 2024 user@localhost ``` **预期结果**: - ✅ SSH password认证成功 - ✅ SSH认证流程正确 --- ### 测试3:SSH Channel测试(Phase 6) **测试命令**: ```bash ssh -p 2024 user@localhost "ls" ``` **预期结果**: - ✅ SSH exec请求处理正确 - ✅ SSH Channel数据传输正确 --- ### 测试4:SFTP测试(Phase 7) **测试命令**: ```bash sftp -P 2024 user@localhost ``` **预期结果**: - ✅ SFTP连接成功 - ✅ SFTP文件列表成功 - ✅ SFTP文件上传/下载成功 --- ### 测试5:SCP测试(Phase 8) **测试命令**: ```bash # SCP上传 scp -P 2024 test.txt user@localhost:/tmp/ # SCP下载 scp -P 2024 user@localhost:/tmp/test.txt ./ # SCP目录传输 scp -P 2024 -r testdir/ user@localhost:/tmp/ ``` **预期结果**: - ✅ SCP文件上传成功 - ✅ SCP文件下载成功 - ✅ SCP目录传输成功 --- ### 测试6:rsync测试(Phase 8) **测试命令**: ```bash rsync -e "ssh -p 2024" test.txt user@localhost:/tmp/ ``` **预期结果**: - ✅ rsync文件同步成功(简化实现) --- ## 测试流程 ### 步骤1:启动SSH服务器 ```bash cargo run --release -- ssh-server ``` ### 步骤2:测试SSH连接 ```bash ssh -p 2024 localhost -vvv ``` ### 步骤3:测试SFTP ```bash sftp -P 2024 localhost ``` ### 步骤4:测试SCP ```bash scp -P 2024 test.txt localhost:/tmp/ ``` ### 步骤5:测试rsync ```bash rsync -e "ssh -p 2024" test.txt localhost:/tmp/ ``` --- ## 测试注意事项 ### 测试限制: - ⚠️ SSH服务器需要完整集成才能测试 - ⚠️ 当前ssh_server模块已实现,但可能需要集成到main.rs - ⚠️ 需要配置用户认证(bcrypt密码) ### 测试准备: 1. ✅ 确保SSH服务器编译成功 2. ⏳ 集成SSH服务器到main.rs(如果未集成) 3. ⏳ 配置测试用户和密码 4. ⏳ 创建测试文件和目录 --- ## 测试预期结果 **总体预期**: - ✅ SSH服务器启动成功 - ✅ SSH连接测试成功(Phase 1-3) - ✅ SSH认证测试成功(Phase 5) - ✅ SSH Channel测试成功(Phase 6) - ✅ SFTP测试成功(Phase 7) - ✅ SCP测试成功(Phase 8) - ⏳ rsync测试成功(Phase 8,简化实现) --- **SSH测试计划完成 ✅** **下一步:集成SSH服务器到main.rs并启动测试**