Spaces:
Running
Running
| echo "=== 详细测试 SSH 连接 ===" | |
| echo "" | |
| echo "1. 测试 TCP 连接到 hf.co:443..." | |
| if timeout 5 bash -c "echo > /dev/tcp/hf.co/443" 2>/dev/null; then | |
| echo "✓ TCP 连接成功" | |
| else | |
| echo "✗ TCP 连接失败" | |
| exit 1 | |
| fi | |
| echo "" | |
| echo "2. 测试端口 22..." | |
| if timeout 5 bash -c "echo > /dev/tcp/hf.co/22" 2>/dev/null; then | |
| echo "✓ 端口 22 可达" | |
| PORT_22_AVAILABLE=true | |
| else | |
| echo "✗ 端口 22 不可达" | |
| PORT_22_AVAILABLE=false | |
| fi | |
| echo "" | |
| echo "3. 获取 hf.co 的 IP 地址..." | |
| HF_IP=$(getent hosts hf.co | awk '{print $1}' | head -1) | |
| if [ -n "$HF_IP" ]; then | |
| echo "✓ hf.co IP: $HF_IP" | |
| else | |
| echo "✗ 无法解析 hf.co" | |
| exit 1 | |
| fi | |
| echo "" | |
| echo "4. 测试使用 IP 地址连接..." | |
| if timeout 5 bash -c "echo > /dev/tcp/$HF_IP/443" 2>/dev/null; then | |
| echo "✓ 使用 IP 连接成功" | |
| else | |
| echo "✗ 使用 IP 连接失败" | |
| fi | |
| echo "" | |
| echo "5. 测试 SSH 连接(端口 443,详细输出)..." | |
| echo "开始测试(60秒超时)..." | |
| timeout 60 ssh -vT -o ConnectTimeout=30 -p 443 [email protected] 2>&1 | tee /tmp/ssh_test_443.log | grep -E "(Connecting|established|banner|timeout|error|Authenticated|successfully)" | head -20 | |
| SSH_443_EXIT=${PIPESTATUS[0]} | |
| echo "" | |
| if [ "$PORT_22_AVAILABLE" = "true" ]; then | |
| echo "6. 测试 SSH 连接(端口 22,详细输出)..." | |
| echo "开始测试(60秒超时)..." | |
| timeout 60 ssh -vT -o ConnectTimeout=30 -p 22 [email protected] 2>&1 | tee /tmp/ssh_test_22.log | grep -E "(Connecting|established|banner|timeout|error|Authenticated|successfully)" | head -20 | |
| SSH_22_EXIT=${PIPESTATUS[0]} | |
| echo "" | |
| fi | |
| echo "7. 测试使用 IP 地址连接..." | |
| timeout 60 ssh -vT -o ConnectTimeout=30 -p 443 git@$HF_IP 2>&1 | tee /tmp/ssh_test_ip.log | grep -E "(Connecting|established|banner|timeout|error|Authenticated|successfully)" | head -20 | |
| SSH_IP_EXIT=${PIPESTATUS[0]} | |
| echo "" | |
| echo "=== 测试结果汇总 ===" | |
| echo "" | |
| echo "端口 443: $([ $SSH_443_EXIT -eq 0 ] || [ $SSH_443_EXIT -eq 1 ] && echo '可能成功' || echo '失败')" | |
| if [ "$PORT_22_AVAILABLE" = "true" ]; then | |
| echo "端口 22: $([ $SSH_22_EXIT -eq 0 ] || [ $SSH_22_EXIT -eq 1 ] && echo '可能成功' || echo '失败')" | |
| fi | |
| echo "使用 IP: $([ $SSH_IP_EXIT -eq 0 ] || [ $SSH_IP_EXIT -eq 1 ] && echo '可能成功' || echo '失败')" | |
| echo "" | |
| echo "详细日志:" | |
| echo " 端口 443: /tmp/ssh_test_443.log" | |
| if [ "$PORT_22_AVAILABLE" = "true" ]; then | |
| echo " 端口 22: /tmp/ssh_test_22.log" | |
| fi | |
| echo " 使用 IP: /tmp/ssh_test_ip.log" | |