开发者社区> 问答> 正文

服务器公网ip通过ssh不能访问?报错

SSH 局域网访问Linux正常,公网访问报错Connection closed by foreign host
之前就是正常访问的,不知道为什么最近访问不了了!!!
路由器上端口映射是没得问题的,我服务器上还装了mysql tomcat   这些在公网访问都是可以正常访问,
在网上搜了很多资料 照着做了 就没起到作用,也许和我的问题本质不一样,
有时候很奇怪,通过公网IP SSH 在xshell上面可以连上大概1秒钟然后报错,有时候直接报错Connection closed by foreign host

展开
收起
爱吃鱼的程序员 2020-06-08 15:05:50 2042 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    配置的问题咯.既然能连上1s应该是有程序拦截的,检查下是不是iptable咯

    可能是网络路由中有个防火墙拦截了,可一个抓包看下具体是哪里被拦截。

    这感觉不是防火墙的问题吧,既然能连上,不太可能是防火墙。

    看下服务器上的连接数吧,如果连接数超级多,再看一下ulimit-n的数值,如果是1024就太小了,改成无限制或改成10万之类的。有可能是连接数太多导致ssh连接被断开

    回复 @yllzl45:并不是最大只有65535哦。建议先看下连接数,查询是什么是端口导致连接数过多(一个还是多个)。在把closetime调短一点(有很多的话,如果业务没这个量,应该是程序问题),从根本上解决程序问题。如果我没记错,ulimit最大是65535。修改下limits.conf吧所有的连接数,比如tomcat开放的端口被访问就会有连接建立,ssh的连接肯定不多的,如果tomcat访问量很大,而ulimit-n的值很小也会导致这个问题。这只是其中一个可能性,可以排查下是不是这个问题。你说的这个链接数指的是不论成功或者失败只要通过ssh连接这个ip就算是使用了一个连接数么?一般这台服务器就我自己用。

    把selinux关闭了

    已经从客户那里回来了,只能下次试试了。谢谢初步防火墙问题,如果不是,那就是复杂网络环境下的ssh协议问题,有些网络运营商的网络协议是有问题的,可以使用同一种网络试下,比如都用电信防火墙或其他安全设施给断了网络连接吧

    再次来到客户这边,与信息中心的人沟通后才知道,是客户这边路由配置的问题,他们也正在解决。

    2020-06-08 15:06:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS快储存加密技术 立即下载