美文网首页
文件句柄数限制导致的ssh无法登陆问题

文件句柄数限制导致的ssh无法登陆问题

作者: rockops | 来源:发表于2017-01-08 12:20 被阅读481次

现象

测试环境,work账户ssh无法登陆,提示connection reset by $IP

排查

通过ssh -v $ip,并未发现有什么异常情况,但在输入密码后,连接还是被reset

尝试使用root账户ssh,可以登陆成功。检查work账户下的.ssh目录,权限正常。

尝试使用su - work切换到work账户,提示:su: 无法设置用户ID: 资源暂时不可用。英文提示应该是su: cannot set user id resource temporarily unavailable。所以ssh无法登陆的原因就是资源暂时不可用,找到原因。

Linux中的“资源限制”,可以通过ulimit -a来查看,执行出来是这个样子

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 62006
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 62006
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

对照看下自己的资源,是哪部分到达limit值了,重点关注max user process, open files

具体可以修改/etc/security/limits.conf文件,制定新的limit value

有意思的一点是,在修改limits.conf时,发现有<type>字段,取值是soft和hard,分别代表什么意思呢

  1. hard_limit_value >= soft_limit_value
  2. hard_limit_value是由root在/etc/security/limits.conf中设置的,其他用户无权修改
  3. soft_limit_value用户可以使用ulimit -S -${param} $value来自行修改,但参见第1条限制,它不能超过hard_limit_value
  4. soft_limit_value是该用户事实上的limit_value

参考

相关文章

网友评论

      本文标题:文件句柄数限制导致的ssh无法登陆问题

      本文链接:https://www.haomeiwen.com/subject/ysuqbttx.html