File size: 1,605 Bytes
386b079
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash

echo "=== 测试 SSH 连接(多种方式)==="
echo ""

WSL_HOST_IP=$(ip route show | grep -i default | awk '{ print $3}' | head -1)
echo "Windows 主机 IP: $WSL_HOST_IP"
echo ""

# 测试 1: 直接连接(TUN 模式应该自动代理)
echo "测试 1: 直接连接(依赖 TUN 模式自动代理)"
timeout 10 ssh -T -o ConnectTimeout=5 -v [email protected] 2>&1 | grep -E "(Connecting|Authenticated|successfully|Connection|error)" | head -5
echo ""

# 测试 2: 通过混合代理端口 7897 (SOCKS5)
echo "测试 2: 通过混合代理端口 7897 (SOCKS5)"
if command -v nc > /dev/null 2>&1; then
    timeout 10 ssh -T -o ConnectTimeout=5 \
        -o ProxyCommand="nc -X 5 -x $WSL_HOST_IP:7897 %h %p" \
        [email protected] 2>&1 | grep -E "(Connecting|Authenticated|successfully|Connection|error)" | head -5
else
    echo "  ✗ nc (netcat) 未安装,跳过此测试"
    echo "  安装命令: sudo apt-get install netcat-openbsd"
fi
echo ""

# 测试 3: 设置代理环境变量后连接
echo "测试 3: 设置代理环境变量后连接(混合端口 7897)"
export http_proxy=http://$WSL_HOST_IP:7897
export https_proxy=http://$WSL_HOST_IP:7897
export all_proxy=socks5://$WSL_HOST_IP:7897
echo "  已设置代理环境变量"
timeout 10 ssh -T -o ConnectTimeout=5 [email protected] 2>&1 | grep -E "(Connecting|Authenticated|successfully|Connection|error)" | head -5
echo ""

# 测试 4: 使用端口 22
echo "测试 4: 尝试端口 22(通过代理)"
timeout 10 ssh -T -o ConnectTimeout=5 -p 22 [email protected] 2>&1 | grep -E "(Connecting|Authenticated|successfully|Connection|error)" | head -5