#!/bin/bash echo "=== MarkBase SFTP完整测试 ===" echo "" # 启动SFTP服务器(后台) echo "1. 启动SFTP服务器(port 2023, user warren)..." cargo run --bin markbase-core -- sftp --user warren --port 2023 > /tmp/sftp_server.log 2>&1 & SERVER_PID=$! echo "Server PID: $SERVER_PID" sleep 3 # 检查服务器是否启动 if ! lsof -ti:2023 > /dev/null; then echo "❌ SFTP服务器启动失败" cat /tmp/sftp_server.log exit 1 fi echo "✅ SFTP服务器启动成功" echo "" # 测试bcrypt验证 echo "2. 测试bcrypt密码验证..." cargo run --bin markbase-core -- bcrypt-test --password demo123 echo "" # 测试SFTP登录(使用sshpass) echo "3. 测试SFTP登录(用户warren,密码demo123)..." if command -v sshpass > /dev/null; then sshpass -p 'demo123' sftp -P 2023 -o StrictHostKeyChecking=no warren@127.0.0.1 << 'EOF' ls quit EOF else echo "⚠️ sshpass未安装,使用手动测试" echo "手动测试命令:" echo "sftp -P 2023 warren@127.0.0.1" echo "密码:demo123" fi echo "" # 停止服务器 echo "4. 停止SFTP服务器..." kill $SERVER_PID 2>/dev/null sleep 1 echo "✅ 测试完成" echo "" echo "查看服务器日志:" echo "cat /tmp/sftp_server.log"