El problema
Al intentar abrir una conexión ssh a un sistema con una cuenta específica, falló con "Restablecimiento de conexión por par". Otros usuarios pueden conectarse con éxito con ssh a este sistema.
A continuación se muestra un ejemplo que muestra el inicio de sesión fallido en el nodo [NODE2] con la cuenta 'oracle'.
[oracle@NODE1]$ ssh oracle@[NODE2] oracle@[NODE2]'s password: Read from remote host [NODE2]: Connection reset by peer Connection to [NODE2] closed.
[oracle@NODE1]$ ssh root@[NODE2] root@[NODE2]'s password: Last login: Fri Mar 6 02:30:55 2009 from [NODE1]
La información del error se puede encontrar en /var/log/messages log on node [NODE2]:
Feb 29 11:11:11 [NODE2] sshd[7194]: Accepted password for oracle from ::ffff:xx.xx.xx.xx port 24318 ssh2 Feb 29 11:11:11 [NODE2] sshd[7202]: fatal: setresuid 501: Resource temporarily unavailable
La solución
Se han agregado más usuarios a este sistema. El valor límite de 'soft nofile ' o 'nproc suave ‘ en el archivo /etc/security/limits.conf está en efecto. El archivo /etc/security/limits.conf establece límites en los recursos del sistema para cada usuario.
Por ejemplo, el valor de los archivos abiertos devueltos por lsof es mayor que el valor límite de 'soft nofile' en el nodo NODE2 para la cuenta 'oracle'.
1. Compruebe /etc/security/limits.conf:
[oracle@~]$cat /etc/security/limits.conf # /etc/security/limits.conf # #Each line describes a limit for a user in the form: # #Where: # can be: # - an user name # - a group name, with @group syntax # - the wildcard *, for default entry # - the wildcard %, can be also used with %group syntax, # for maxlogin limit # can have the two values: # - "soft" for enforcing the soft limits # - "hard" for enforcing hard limits # - can be one of the following: # - core - limits the core file size (KB) # - data - max data size (KB) # - fsize - maximum filesize (KB) # - memlock - max locked-in-memory address space (KB) # - nofile - max number of open files # - rss - max resident set size (KB) # - stack - max stack size (KB) # - cpu - max CPU time (MIN) # - nproc - max number of processes # - as - address space limit # - maxlogins - max number of logins for this user # - maxsyslogins - max number of logins on the system # - priority - the priority to run user process with # - locks - max number of file locks the user can hold # - sigpending - max number of pending signals # - msgqueue - max memory used by POSIX message queues (bytes) #[domain] [type] [item] [value] oracle hard nofile 65535 oracle soft nofile 4096 oracle hard nproc 20480 oracle soft nproc 2047
2. Verifique los procesos ejecutados por el usuario 'oracle':
[oracle@NODE2 ~]$ ps -u oracle|wc -l 489
3. Verifique los archivos abiertos por el usuario 'oracle':
[oracle@[NODE2] ~]$ /usr/sbin/lsof -u oracle | wc -l 62490
Una vez que haya identificado los límites de los parámetros, siga los pasos que se describen a continuación para resolver el problema:
1. Modifique /etc/security/limits.conf a mano. Aumente el valor de 'soft nofile ‘ hasta que sea igual a ‘hard nofile ' valor. Aumente el valor de 'soft nproc ' hasta que sea igual a 'hard nproc ' valor.
[oracle@NODE2 ~]$cat /etc/security/limits.conf oracle hard nofile 65535 oracle soft nofile 65535 oracle hard nproc 20480 oracle soft nproc 20480
2. Compruebe si el problema persiste:
[oracle@NODE1 ~]$ssh oracle@NODE2 oracle@NODE2's password: Last login: Fri Mar 6 02:33:01 2009 from NODE1
Diferentes errores cuando se alcanzan otras configuraciones de límite
El error es diferente cuando alcanza el límite de "archivos abiertos" y "procesos de usuario máximos" en /etc/profile.
1. Error al llegar al límite de 'archivos abiertos':
[oracle@NODE1~]$ssh NODE2 oracle@NODE2's password: -bash: ulimit: max user processes: cannot modify limit: Operation not permitted -bash: /home/oracle/.bash_profile: Too many open files
2. Error al alcanzar el límite de 'procesos máximos de usuario':
[oracle@NODE1 ~]$ssh oracle@NODE2 oracle@NODE2's password: -bash: ulimit: open files: cannot modify limit: Operation not permitted -bash: fork: Resource temporarily unavailable