You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行nmap扫描后本地SSH无法连设备 外部连接正常的解决求助

SSH连接重置问题的诊断与解决

核心判断

大概率是nmap扫描触发了目标设备的SSH防护机制(如fail2ban、sshd连接限制或防火墙规则)。日志里的10.0.0.96是你的WiFi路由器在10.0网段的网关IP——你的设备在192.168网段,访问10.0设备时流量经路由器NAT转发,目标看到的源IP是路由器的10.0接口IP,随机端口是NAT转换的正常现象。


具体解决步骤

1. 检查并解除fail2ban封禁

  • 查看fail2ban运行状态:
    sudo systemctl status fail2ban
    
  • 若服务运行,检查sshd jail的封禁列表:
    sudo fail2ban-client status sshd
    
  • 若发现10.0.0.96在封禁列表,执行解封操作:
    sudo fail2ban-client set sshd unbanip 10.0.0.96
    

2. 调整sshd连接限制

  • 编辑sshd配置文件:
    sudo nano /etc/ssh/sshd_config
    
  • 找到MaxStartups参数(控制并发连接尝试上限),调整为更宽松的设置(示例):
    MaxStartups 10:30:100
    
    (允许10个并发连接,超过后30%概率拒绝,最多限制100个连接尝试)
  • 重启sshd使配置生效:
    sudo systemctl restart sshd
    

3. 检查防火墙规则

  • 查看iptables规则,确认是否存在针对22端口的过度限速/封禁:
    sudo iptables -L -n -v
    
    若存在类似-A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 10 -j DROP的规则,可临时删除或调整阈值。
  • 若使用ufw防火墙,查看详细规则状态:
    sudo ufw status verbose
    
    确保SSH端口的限制是合理限速而非直接封禁,可重新设置规则:
    sudo ufw limit ssh/tcp
    

4. 长期优化方案

  • 在fail2ban中添加内网网段白名单:编辑/etc/fail2ban/jail.d/sshd.conf,增加:
    ignoreip = 127.0.0.1/8 10.0.0.0/24 192.168.0.0/16
    
    避免误封禁内网转发IP。
  • 改用SSH密钥登录替代密码登录:在sshd_config中设置:
    PasswordAuthentication no
    PubkeyAuthentication yes
    
    重启sshd后,将本地公钥上传至目标设备的~/.ssh/authorized_keys,提升安全性的同时减少触发防护的概率。
  • 后续nmap扫描目标设备时,使用低强度扫描参数:
    nmap -T2 -p 22 <目标IP>
    

内容的提问来源于stack exchange,提问作者OIRNOIR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:55:15