연결을 설정하는 데 N초 이상 걸리는 경우 SSH 시도를 어떻게 취소할 수 있습니까?

연결을 설정하는 데 N초 이상 걸리는 경우 SSH 시도를 어떻게 취소할 수 있습니까?

SSH를 사용하여 여러 호스트에 연결하는 배포 스크립트가 있습니다. 때때로 호스트는 SSH 시도가 중단될 정도로 심각한 부하를 받게 됩니다. 이로 인해 결국 배포 시 시간 초과가 발생하지만 매우 오랜 시간이 지난 후에야 발생합니다.

이상적으로는 스크립트가 20분 제한 시간보다 빨리 실패하는 것이 좋습니다.

일정 시간이 지난 후에도 SSH 연결이 이루어지지 않았음을 감지하여 좀 더 통제된 방식으로 시도를 취소할 수 있는 방법이 있습니까?

답변1

ConnectTimeout다음을 통해 연결 시간 초과 설정을 조사해야 합니다 .

-o ConnectTimeout=1200

매뉴얼 페이지로ssh_config옵션 상태:

기본 시스템 TCP 시간 초과를 사용하는 대신 SSH 서버에 연결할 때 사용되는 시간 초과(초)를 지정합니다. 이 값은 대상이 다운되었거나 실제로 연결할 수 없는 경우에만 사용되며 연결을 거부할 경우에는 사용되지 않습니다.

따라서 사용법은 다음과 같습니다.

ssh -o ConnectTimeout=1200 [email protected]

FWIW, ConnectTimeout이와 같은 스크립트의 많은 항목과 마찬가지로 값은 초 단위로 설정됩니다. 따라서 1200초는 20분과 같습니다.

관련 정보