AWS EC2关闭所有端口后SSH会话仍活跃的原因咨询
问题解答
现象原因
AWS安全组是有状态的防火墙,它的规则仅针对新发起的连接请求生效。当你通过ssh ubuntu@<ip>成功建立会话后,安全组会记录这个连接的会话状态,允许该会话的双向数据包(包括实例回传的响应、你发送的命令)正常通行——哪怕后续修改入站规则关闭所有端口,已建立的会话因为已被标记为“已授权的活跃连接”,所以不会被中断。
直白点说:安全组管的是「能不能新连进来」,不管「已经连进来的能不能继续用」。
关于终止活跃SSH会话
是的,仅修改安全组无法终止已活跃的SSH会话。如果要终止当前的活跃连接,你需要:
- 登录到EC2实例内部,执行
pkill sshd,或者先用who找到目标会话的进程ID,再用kill命令终止对应进程 - 直接重启或终止EC2实例(这是更极端的方式)
内容的提问来源于stack exchange,提问作者mRcSchwering
相关产品推荐
相关产品推荐

