Використовуйте -o ConnectTimeout
і -o BatchMode=yes -o StrictHostKeyChecking=no
.
ConnectTimeout утримує сценарій від зависання, BatchMode утримує його від зависання з невідомим хостом, ТАК для додавання до відомих_хостів, а StrictHostKeyChecking додає відбиток пальців автоматично.
**** ПРИМІТКА **** "StrictHostKeyChecking" призначався лише для внутрішніх мереж, де ви довіряєте своїм господарям. Залежно від версії клієнта SSH, "Ви впевнені, що хочете додати свій відбиток пальців", це може призвести до того, що клієнт повіситься на невизначений час (переважно старі версії, що працюють на AIX). Більшість сучасних версій не страждають від цього питання. Якщо вам доведеться мати справу з відбитками пальців з декількома хостами, я рекомендую підтримувати файл known_hosts за допомогою якогось інструменту управління конфігурацією, наприклад ляльковий / ansible / шеф-кухар / сіль / тощо.