web-dev-qa-db-fra.com

Paramiko: erreur de lecture de la bannière du protocole SSH

Récemment, j'ai créé un code qui se connecte au poste de travail avec différents noms d'utilisateur (grâce à une clé privée) basé sur paramiko.

Je n'ai jamais eu de problème avec ça, mais aujourd'hui, j'ai ça: SSHException: Error reading SSH protocol banner

C'est étrange car cela se produit au hasard sur toutes les connexions. Y a-t-il un moyen de le réparer?

41
FunkySayu

Cela dépend de ce que vous entendez par "réparer". Comme indiqué dans les commentaires, la cause sous-jacente est la congestion/le manque de ressources. De cette façon, il est similaire à certains codes HTTP. C'est la cause normale, il se peut que le serveur ssh renvoie des données d'en-tête incorrectes.

429 Too Many Requests, indique au client d'utiliser la limitation de débit, ou parfois les API renverront 503 de la même manière si vous dépassez votre quota. L'idée étant, de réessayer plus tard, avec un retard.

Vous pouvez essayer de gérer cette exception dans votre code, attendre un peu et réessayer. Vous pouvez également modifier votre fichier transport.py, pour définir le délai d'expiration de la bannière sur quelque chose de plus élevé. Si vous avez une application où la vitesse de réponse du serveur n'a pas d'importance, vous pouvez la régler sur 60 secondes.

23
TinBane