J'ai l'entrée suivante dans mon .ssh/config
dossier
Host AAA
User BBB
HostName CCC
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
Ce qui précède me permet de multiplexer plusieurs sessions ssh via la même connexion ssh sans avoir à taper le mot de passe chaque fois que j'ai besoin d'une nouvelle session (tant que la connexion principale reste ouverte).
Cependant, j'ai remarqué qu'une fois que j'ai un nombre relativement élevé de connexions multiplexées (~ 7), je ne peux pas ajouter plus de sessions à la même connexion multiplexée, et je commence à obtenir l'erreur suivante:
> ssh -X AAA
mux_client_request_session: session request failed: Session open refused by peer
Password:
Mes questions:
Pourquoi ai-je cette erreur? Y a-t-il une limite dans le nombre de sessions ssh que je peux multiplexer dans la même connexion? Puis-je modifier cette limite? Serait-ce une mauvaise idée?
Réponses:
Le
sshd
démon sur le serveur limite le nombre de sessions par connexion réseau. Ceci est contrôlé par l'MaxSessions
option dans/etc/ssh/sshd_config
. IlMaxStartups
peut également être nécessaire d'augmenter l' option si vous utilisez un grand nombre de sessions. (Voirman sshd_config
pour plus de détails.) L'option de modification de laMaxSessions
limite a été introduite dans OpenSSH 5.1 et il semble que le nombre était précédemment fixé à 10. Si vous dépassezMaxSessions
sur le serveur, vous verrezsshd[####]: error: no more sessions
dans le journal du serveur.la source
J'ai rencontré ce problème sur un serveur avec une version antérieure d'OpenSSH. Je contrôle le serveur et j'ai résolu le problème en créant deux CNAME dans ma configuration nommée:
Ensuite, dans ma configuration client locale ssh:
L'instruction ControlPath est ainsi les noms de socket de contrôle ne marchent pas les uns sur les autres.
C'est tout, mais pour le rendre facile à gérer, j'ai écrit un script wrapper pour 'ssh' du côté client. Il comprend qu'il existe des «groupes» d'hôtes (dans ce cas, realhost, realhost1, realhost2 comprennent un groupe). Lors de l'émission de «sshwrapper realhost», s'il n'y a pas de canaux ouverts, les trois sont ouverts et une session est lancée. La prochaine fois qu'il est exécuté, il compte les connexions ouvertes par canal et ouvre la nouvelle session dans le canal avec le moins de connexions.
Avec un vrai et deux «faux» hôtes, je peux me connecter 30 fois avant de recevoir une erreur. La connexion est extrêmement rapide, sauf que le temps initial prend une seconde ou deux, car les trois canaux de contrôle sont ouverts à ce moment-là.
la source