linux 登录服务器 提示Permission denied 且ssh登录立即退出( Exit status 254)

系统版本:CentOS Linux release 7.7.1908 (Core) 内核:4.18.12-1.el7.elrepo.x86_64

1、故障

下午初始化完一台服务器后,登录显示Permission denied,查看一开始以为是密码有问题,进入单用户模式把密码改成123456了,然后重启,登录还是报Permission denied;后来ssh -v IP查看,密码认证环节已通过,系统有种登录后立马退出的现象,因为升级了内核,以为是升级了内核导致的,选择最初的内核版本启动还是报错,郁闷,后来在网上找了一些文档,什么root被禁止啥的,都没解决问题

2、问题确认

后来仔细查看初始化脚本,其中有项设置最大连接数的配置引起注意,值设置为了10240000,然后想这个值是不是不能超出某个默认参数的值,然后在单用户模式下把值改为了65536,重启服务器 ,然后就可以登录了,找到问题原因所在,于是去找资料,为啥设置成10240000就不行了呢?后来找到一篇博客,发现 open file(s) kernel 级别有 2 个配置,fs.nr_open,进程级别;fs.file-max,系统级别

fs.nr_open 默认设置的上限是 1048576,所以用户的openfile(s) 不可能超过这个上限。

# sysctl -w fs.nr_open=20480000
# ulimit -n 10240000
# ulimit -n
10240000

修改后即可设置更大的 openfile(s) 了。

同样,对于 kernel 参数的修改,sysctl 命令修改的是当前运行时,如果需要永久修改, 则将配置添加到 /etc/sysctl.conf 中,例如:

# echo "fs.nr_open = 20480000" >> /etc/sysctl.conf
# echo "fs.file-max = 10000000" >> /etc/sysctl.conf

不过,增大这些值意味着能够打开更多的文件(在 Linux 中,everything is file,包括 socket),但是同时也意味着消耗更多的资源,所以基本上在物理机上才会遇到这种问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值