Le problème
Lors de la tentative d'ouverture d'une connexion ssh à un système avec un compte spécifique, cela a échoué avec « Réinitialisation de la connexion par un pair ». D'autres utilisateurs peuvent se connecter avec succès avec ssh à ce système.
Vous trouverez ci-dessous un exemple montrant l'échec de la connexion au nœud [NODE2] avec le compte "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]
Les informations d'erreur peuvent être trouvées dans /var/log/messages log sur le nœud [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 solution
D'autres utilisateurs ont été ajoutés à ce système. La valeur limite de 'soft nofile ' ou 'soft nproc ‘ dans le fichier /etc/security/limits.conf est en vigueur. Le fichier /etc/security/limits.conf définit les limites des ressources système pour chaque utilisateur.
Par exemple, la valeur des fichiers ouverts renvoyée par lsof est supérieure à la valeur limite de « soft nofile » sur le nœud NODE2 pour le compte « oracle ».
1. Vérifiez /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. Vérifiez les processus exécutés par l'utilisateur "oracle" :
[oracle@NODE2 ~]$ ps -u oracle|wc -l 489
3. Vérifiez les fichiers ouverts par l'utilisateur "oracle" :
[oracle@[NODE2] ~]$ /usr/sbin/lsof -u oracle | wc -l 62490
Une fois que vous avez identifié les limites des paramètres, suivez les étapes décrites ci-dessous pour résoudre le problème :
1. Modifiez /etc/security/limits.conf manuellement. Augmentez la valeur de 'soft nofile ' jusqu'à ce qu'il soit égal à 'hard nofile ' évaluer. Augmentez la valeur de 'soft nproc ' jusqu'à ce qu'il soit égal à 'hard nproc ‘ valeur.
[oracle@NODE2 ~]$cat /etc/security/limits.conf oracle hard nofile 65535 oracle soft nofile 65535 oracle hard nproc 20480 oracle soft nproc 20480
2. Vérifiez si le problème persiste :
[oracle@NODE1 ~]$ssh oracle@NODE2 oracle@NODE2's password: Last login: Fri Mar 6 02:33:01 2009 from NODE1
Différentes erreurs lorsque d'autres paramètres de limite sont atteints
L'erreur est différente lorsqu'elle atteint la limite "fichiers ouverts" et "processus utilisateur max" dans /etc/profile.
1. Erreur lors de l'atteinte de la limite "fichiers ouverts" :
[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. Erreur lors de l'atteinte de la limite 'max processus utilisateur' :
[oracle@NODE1 ~]$ssh oracle@NODE2 oracle@NODE2's password: -bash: ulimit: open files: cannot modify limit: Operation not permitted -bash: fork: Resource temporarily unavailable