SSH/스크립트 액세스를 위해 원격 시스템이 온라인인지 확인하는 방법은 무엇입니까?

SSH/스크립트 액세스를 위해 원격 시스템이 온라인인지 확인하는 방법은 무엇입니까?

내 노트북에서 Ubuntu 서버로 데이터를 백업하는 스크립트를 작성 중입니다. 이를 위해 백업을 시작하기 전에 서버를 사용할 수 있는지 테스트하기 위한 (ba)sh 명령을 찾고 있습니다. ping포트 22에서 부울을 반환하는 것과 같은 것입니다.

어떻게 해야 하나요?

답변1

이와 같이:

nc -z hostname 22 > /dev/null
echo $?

그렇다면 0사용할 수 있습니다. 그렇다면 1그렇지 않습니다.

답변2

사용인터넷 고양이:

nc -z localhost 22

맨페이지에서

 -z      Specifies that nc should just scan for listening daemons,
         without sending any data to them.

답변3

여분의:

nc -vzw 1 hostname 22

답변4

ssh hostname exit 2>/dev/null ; echo $?

이는 실제로 연결을 생성하고 인증을 수행합니다. 그리고 때로는 잘못된 포트 22 가정에 의존하지 않습니다.

관련 정보