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

AWS实例运行后台Python脚本1小时后SSH连接被重置问题求助

解决AWS实例运行后台Python脚本后SSH连接重置的问题

我之前遇到过几乎一模一样的情况,当时折腾了好一阵才找到根源,分享几个我排查和解决的方向,你可以逐一尝试:

1. 排查资源耗尽导致的SSH服务崩溃

后台运行的Python HTTP脚本很可能在持续运行中悄悄占用大量CPU、内存,甚至带宽,1小时后资源耗尽直接导致sshd进程挂掉或者系统无响应。

  • 重启实例后,先别启动脚本,用top、htop或者free -m监控基础资源占用;然后启动脚本,每隔10分钟查看一次资源变化,看是否有持续飙升的情况;
  • 给你的Python脚本加上详细日志,记录每次请求的耗时、内存使用情况,排查是否存在内存泄漏、无限循环或者短时间发起大量请求的逻辑;
  • 如果确实是资源不够,要么升级实例配置,要么优化脚本:比如给HTTP请求加合理的间隔时间、使用连接池复用TCP连接,避免频繁创建销毁连接。

2. 检查AWS网络层面的临时限制

如果你的脚本在向外部发起大量HTTP请求,AWS的安全机制或者目标服务器的反爬策略可能会触发临时IP封禁,导致SSH连接被重置。

  • 登录AWS控制台,查看实例对应的VPC Flow Logs,看是否有SSH端口(默认22)的入站流量被拒绝的记录;
  • 检查CloudTrail中的事件日志,看有没有和实例网络相关的异常操作;
  • 尝试修改SSH服务的默认端口(比如改成2222),同时更新安全组的入站规则允许新端口的连接,避免默认端口被扫描或者触发限制;
  • 确认脚本的请求频率是否在合理范围内,有没有触发目标服务器的请求阈值。

3. 排查sshd服务本身的异常

有时候sshd服务会因为配置问题或者进程崩溃导致无法响应连接。

  • 查看sshd的日志文件:Debian/Ubuntu系统看/var/log/auth.log,RHEL/CentOS系统看/var/log/secure,找连接重置前的报错信息,比如是否有进程崩溃、配置错误的提示;
  • 设置sshd自动重启:执行systemctl enable --now sshd确保服务开机自启,还可以用monit这类监控工具,一旦检测到sshd进程停止就自动重启;
  • 检查/etc/ssh/sshd_config中的关键配置:比如MaxStartups(允许的最大未认证连接数)、LoginGraceTime(登录超时时间),这些参数设置不合理也可能导致连接被拒绝。

4. 系统层面的潜在问题

比如内核bug、磁盘空间满、系统更新不兼容等,也可能导致这种情况:

  • 用df -h检查磁盘使用情况,确保根分区没有被占满;
  • 查看系统日志/var/log/messages(CentOS)或者/var/log/syslog(Ubuntu),看是否有内核报错、系统崩溃的记录;
  • 尝试更新系统到最新稳定版本,比如执行apt update && apt upgrade -y(Ubuntu)或者yum update -y(CentOS),修复可能存在的系统bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:29:34