Si tenemos algun script que ejecuta remotamente comandos en muchos equipos que estaban apagados, inaccesibles, etc
Para cambiar el timeout en el cliente SSH y obtener fallos de timeout de forma más rápida, podemos usar este parámetro en el cliente ssh, que indica en segundos el tiempo de timeout de SSH.
-o ConnectTimeout=3
De esta forma, a los 3 segundos de intentar conectar, el cliente abortará la conexión, dará un error de timeout y seguirá a otra cosa, entorpeciendo mucho menos la ejecución de nuestro script.
Hay que tener en cuenta los tiempos habituales de respuesta del SSH. Hay máquinas que están detrás de varios firewalls y que tardan más en realizar la conexión. Para estos casos, cambiar el timeout en el cliente SSH a los 3 segundos que te he puesto anteriormente podría ser demasiado agresivo. Adapta los timeouts SSH a tu entorno.
Desde línea de comandos, quedaría tal que así:
ssh -o ConnectTimeout=3 usuario@hostremoto
Pasados 3 segundos completos desde que intenta conectar, si no hay respuesta, el cliente nos devolvería el siguiente error
ssh: connect to host hostremoto port 22: Connection timed out
Este articulo puede contener enlaces de afiliación
Comentarios