Prioriser les connexions ssh (sympa)

16

Existe-t-il un moyen préféré de définir "nice" pour sshd?

J'ai besoin que la priorité soit donnée à sshd afin que je puisse me connecter et réparer facilement des choses en cas de problème (par exemple, DoS, processus mal comportés, etc.)

s29
la source

Réponses:

6

Vous pouvez attribuer une valeur intéressante à votre compte utilisateur ou groupe d'utilisateurs préféré /etc/security/limits.conf, du moins si nous parlons de Linux. Ensuite, lorsque vous vous connectez via sshd, vous aurez une belle valeur de X, quoi que vous le définissiez.

D'après mon expérience, l'ordonnanceur CPU dans le noyau est de nos jours si bon qu'il est difficile de rendre le serveur incroyablement lent simplement en brûlant des cycles CPU, le shell répondra généralement dans un délai raisonnable.

Si votre serveur a du mal à vous répondre via ssh, il est très probable qu'il se permute à mort. Tout commence à prendre du temps si le serveur consomme tout son temps pour échanger des pages dans et hors de la mémoire vers le disque.

C'est pourquoi une meilleure approche est de configurer cgroups, de sorte que votre utilisateur dispose toujours de cycles CPU / mémoire / autres ressources de rechange. Comme l'a dit viqrto, cela peut ou peut ne pas aider.

Janne Pikkarainen
la source
Je vais regarder dans les groupes de contrôle. Concernant limits.conf, je suppose que cela n'entrerait en vigueur qu'une fois que sshd aurait accepté la connexion et lancé un processus shell sous mon nom d'utilisateur. Je me demande si je devrais également éditer /etc/init/ssh.conf (upstart) et ajouter un joli -15 à sshd pour prioriser le démon sshd réel?
s29
1

Vous devez limiter le nombre de processus (threads). La plupart du démon a ses propres paramètres. Apache par exemple. Ensuite, le planificateur allouera toujours une quantité appropriée de temps CPU pour les serveurs SSH.

cpulimit ou cgroup peut limiter l'utilisation du processeur d'un processus. Cela peut aider, mais pas

virqto
la source