[완료] ssh 등록여부 확인방법

idrukawa의 이미지

안녕하세요.

스크립트에서 여러개의 IP와 계정으로 ssh 접속해서 작업을 처리하도록 하고 있습니다.
ex) ssh user@ip "echo $HOSTNAME"

그런데 내 서버에서 상대 서버의 정보가 등록되어 있지 않은경우
password를 입력 받으려고 스크립트가 멈춰있게 됩니다.

이런 서버들은 skip 하고 싶습니다.
어떻게 하면 될까요?

idrukawa의 이미지

자답입니다.
등록되어 있는지 아닌지여부는 알 수 없지만...
다음과 같이 연결대기 타임아웃을 설정할 수 있습니다.
] ssh -o connecttimeout=3 root@1.1.1.1
ssh: connect to host 1.1.1.1 port 22: Connection timed out

따라서 등록이 안된 서버로 접속하려고 하면
timeout이 발생하겠죠? ㅎㅎ

백연구원의 이미지

스크립트로 구현한다면 expect 로 password 라는 단어 찾아서 처리 하면 될것 같네요.


소곤소곤

IsExist의 이미지

접속시 RSA 인증만 시도하게 옵션을 줘도 될것 같네요.

---------
간디가 말한 우리를 파괴시키는 7가지 요소

첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스

이익추구를 위해서라면..

다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치