2013-08-22 80 views
6

Tôi có một danh sách các địa chỉ IP máy chủ từ xa đầy đủ. Tôi đã viết một kịch bản để kết nối tất cả các máy chủ trong danh sách này, từng cái một. Câu hỏi của tôi là, đôi khi khi một địa chỉ IP bị hỏng, kịch bản chờ một lúc (có thể là một vài phút) để đi và thực thi máy chủ tiếp theo. Vì vậy, tôi muốn giảm thời gian chờ đợi này. Ví dụ sau 10 giây, tôi muốn kết nối ssh là hết giờ và tập lệnh của tôi sẽ thử địa chỉ IP tiếp theo. Vậy làm thế nào tôi có thể tinh chỉnh điều này?cách giảm giá trị thời gian chờ kết nối ssh

Cảm ơn

+0

Đây là bản sao của [Cách đặt hết thời gian chờ SSH trong tập lệnh shell] (https://stackoverflow.com/questions/4936807/how-to-setup-ssh-timeout-in-shell-script) – Murmel

Trả lời

12

nếu bạn gọi ssh kịch bản mà bạn có thể sử dụng một cái gì đó như thế

ssh -o ConnectTimeout=10 <hostName> 

nơi 10 là số giây

+0

Thực ra tôi cố gắng làm một việc như: ssh-keygen cho HOST bằng $ (cat/scripts/ip_list); làm ssh-copy-id -i ~/.ssh/id_rsa.pub $ {HOST} thực hiện Vì vậy, tôi không biết nơi tôi có thể sử dụng tùy chọn -o. Tôi có thể thử một số nội dung như [code] cat ~/.ssh/id_rsa.pub | ssh -o ConnectTimeout = 10 tên người dùng @ $ {HOST} 'cat >> .ssh/authorized_keys' nhưng vấn đề là, một số thư mục nhà ở xa không có thư mục ~/.ssh. Vì vậy, lệnh sẽ thất bại khi nó không thể tìm thấy ~/.ssh/authorized_keys – JavaRed

+0

cách thêm giá trị mili giây vào thời gian chờ? – FaaduBaalak

1

Bạn có thể học nhiều hơn nữa bằng cách gõ man ssh cho OpenSSH dòng lệnh tùy chọn và man sshd cho OpenSSH tùy chọn daemon ...