用 SecureCRT 对 Debian 进行网络诊断的实用流程
一、准备与连通性验证
二、在 Debian 上执行深入诊断
| 目标 | 命令 | 关键关注 |
|---|---|---|
| 接口与地址 | ip addr; ip route | 是否获取到 IP、默认路由是否存在 |
| 连通性 | ping -c 4 8.8.8.8; ping -c 4 <网关_IP> | 区分外网与网关可达性 |
| 端口可达 | ss -lntp | sshd 是否在 22 端口监听 |
| 路由跟踪 | traceroute 8.8.8.8; mtr --report 8.8.8.8 | 丢包位置与延迟尖峰 |
| 服务状态 | sudo systemctl status ssh | Active: active (running) |
| 防火墙放行 | sudo ufw status; sudo ufw allow ssh(若用 UFW) | 22/tcp 是否允许 |
| 连接日志 | sudo tail -n 50 /var/log/auth.log | 认证失败、密钥交换失败等线索 |
三、SecureCRT 侧的诊断与配置技巧
四、常见故障快速定位表
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| 连接超时/拒绝 | ss -lntp | 启动 SSH:sudo systemctl start ssh;如未安装:sudo apt update && sudo apt install openssh-server |
| Key exchange failed | /var/log/auth.log;SecureCRT 的 Key Exchange 设置 | 升级 SecureCRT;在服务器或客户端启用兼容算法(如 curve25519/ecdh/diffie-hellman-group14-sha1) |
| 认证失败 | tail /var/log/auth.log | 核对用户名/密码/密钥;必要时在 /etc/ssh/sshd_config 中临时启用 PasswordAuthentication yes 测试,再恢复更安全的配置 |
| 能 ping 通网关,ping 不通外网 | ip route | 检查默认路由是否存在;必要时添加:sudo ip route add default via <网关_IP> |
| 端口不通 | sudo ufw status; ss -lntp | 放行端口:sudo ufw allow ssh;或关闭防火墙做 A/B 测试:sudo ufw disable(测试后恢复) |
五、一键诊断脚本示例(可选)
#!/usr/bin/env bash
echo "=== 接口与地址 ==="
ip addr
echo
echo "=== 路由表 ==="
ip route
echo
echo "=== 默认网关 ==="
ip route | awk '/default/ {print $3}'
echo
echo "=== 外网连通性 ==="
ping -c 4 8.8.8.8 && echo " OK" || echo " FAILED"
echo
echo "=== 网关连通性 ==="
GW=$(ip route | awk '/default/ {print $3; exit}')
[ -n "$GW" ] && ping -c 4 "$GW" && echo " OK" || echo " FAILED"
echo
echo "=== 监听端口 ==="
ss -lntp | grep ':22'
echo
echo "=== 路由跟踪 ==="
traceroute -m 15 8.8.8.8
echo
echo "=== 结论 ==="
ping -c 1 8.8.8.8 >/dev/null 2>&1 && echo "外网连通性: OK" || echo "外网连通性: FAILED"
ss -lntp | grep -q ':22' && echo "SSH 监听: OK" || echo "SSH 监听: FAILED"