2013-08-22 15 views
6

Mam listę pełnych adresów IP zdalnego hosta. Napisałem skrypt, aby połączyć wszystkie hosty z tej listy, jeden po drugim. Moje pytanie brzmi, czasami, gdy adres IP jest wyłączony, skrypt czeka na chwilę (może kilka minut) na wykonanie kolejnego hosta. Chciałbym więc skrócić ten czas oczekiwania. Na przykład po 10 s, chcę, aby połączenie ssh było czasem oczekiwania, a mój skrypt próbuje następnego adresu IP. Jak mogę to poprawić?jak zmniejszyć wartość limitu czasu połączenia ssh

Dzięki

+0

To jest duplikat [Jak ustawić limitu czasu SSH w skrypcie powłoki] (https://stackoverflow.com/questions/4936807/how-to-setup-ssh-timeout-in-shell-script) – Murmel

Odpowiedz

12

jeśli zadzwonisz skrypt ssh można użyć coś takiego

ssh -o ConnectTimeout=10 <hostName> 

gdzie 10 to liczba sekund

+0

Właściwie próbuję zrobić coś takiego: ssh-keygen dla HOST w $ (cat/scripts/ip_list); do ssh-copy-id -i ~/.ssh/id_rsa.pub $ {HOST} done Więc nie wiem, gdzie mogę użyć opcji -o. Mogę wypróbować coś w stylu: [kod] cat ~/.ssh/id_rsa.pub | ssh -o ConnectTimeout = 10 nazwa użytkownika @ $ {HOST} 'cat >> .ssh/authorized_keys' Ale chodzi o to, że niektóre z tych zdalnych katalogów domowych nie mają folderu ~/.ssh. Polecenie zakończy się niepowodzeniem, gdy nie można znaleźć ~/.ssh/authorized_keys – JavaRed

+0

jak dodać wartość milisekund do limitu czasu? – FaaduBaalak

1

można dowiedzieć się wiele więcej, wpisując man ssh dla OpenSSH linii poleceń opcje idla OpenSSH opcji demona ...

Powiązane problemy