Los intentos rápidos y sucesivos de conexión SSH se bloquean

Los intentos rápidos y sucesivos de conexión SSH se bloquean

Tengo un script bash que copia archivos pequeños sucesivamente usando scp. Entonces hay un montón de scpcomandos en este script. Se utiliza una clave SSH para autenticarse en el otro servidor.

Debido a que los archivos son tan pequeños, los intentos de conexión SSH ocurren muy rápidamente y no muy lejos del script, y scpse bloquearán indefinidamente.

  • No se produjeron errores.
  • Los equipos de red se eliminaron de la ecuación y los servidores se comunican en vivo en la misma subred.
  • rsyncTambién se ha demostrado el problema .

Si sleepse coloca un intervalo de 1 segundo entre estas llamadas scp, el script se ejecuta sin problemas, sin bloqueos.

¿Dónde debería buscar esta aparente limitación de velocidad? No veo esto entre ninguno de mis otros servidores...

Respuesta1

A veces la gente configuralimitación de velocidad usando iptables.

OpenSSH tiene la MaxStartupsopción de limitar la velocidad de los clientes entrantes. El valor predeterminado (al menos en mi computadora) es 10:30:100.

hombre sshd_config

Alternativamente, se puede habilitar la eliminación anticipada aleatoria especificando los tres valores separados por dos puntos start:rate:full (por ejemplo, "10:30:60"). sshd(8) rechazará los intentos de conexión con una probabilidad de tasa/100 (30%) si actualmente hay (10) conexiones no autenticadas. La probabilidad aumenta linealmente y todos los intentos de conexión se rechazan si el número de conexiones no autenticadas llega al máximo (60).

Otro problema semicomún y causa de retrasos en la conexión OpenSSH está relacionado con una función en el servidor OpenSSH que intentará realizar una búsqueda inversa de la dirección IP entrante en un intento de conexión. Creo que necesita esta funcionalidad DNS para ser compatible con algunos de los métodos de autenticación más antiguos compatibles con rhost, funcionalidad que creo que ya casi nadie usa. De todos modos, la función de resolución de DNS causará problemas si los solucionadores de DNS están mal configurados, están configurados para usar un solucionador roto o tal vez algo en la zona inversa desde la que se conecta la IP del cliente está roto.

Idealmente, la respuesta es arreglar el DNS y asegurarse de que su DNS siempre funcione sin errores y responda rápidamente. Pero si no necesita la resolución DNS, entonces una solución rápida es evitar que el servidor intente resolver nombres. Colóquelo UseDNS noen su sshd_config.

información relacionada