limits.conf超过限制导致ssh失败

  记录一次轰轰烈烈的翻车事件,limits.conf的值设置得超过/proc/sys/fs/nr_open的值后导致ssh连接不上。。。

  事情的经过是这样婶的…
  由于在做接口压测,需要放开文件打开数以增加http连接数,于是我ulimt -n 6553500,但是系统却报错了:
在这里插入图片描述
  脑残的我以为是ulimt -n 有其他约束,又想起文件打开数还能在limits.conf修改,
  
  于是我修改了limits.conf为:

vi /etc/security/limits.conf

* soft nofile 6553500
* hard nofile 6553500

然后淡定的保存了

结果发现,ssh怎么也连接不上了,一顿疯狂排查,才找到原因

  原来,nofile的值的上限是由/proc/sys/fs/nr_open限制的,默认是1048576,超过这个值就会导致连接ssh失败,报错日志为:pam_limits(login:session): Could not set limit for ‘nofile’: Operation not permitted

  limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so的配置文件,而且只针对于单个会话。即在登录shell时,需要设定limits的值,但由于设定的值过大导致设置失败,无法登录shell,ssh自然也就连接不上了。

在这里插入图片描述
找到原因后,就得想办法救命了
 

解决办法:

进入单用户模式将nofile修改为小于1048576的值,然后重启即可。
https://blog.csdn.net/lcm_linux/article/details/103166115

引以为戒,系统参数不要瞎改!!!改前一定要先做了解!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值