ansible로 telnet명령 실행하여 port open 확인하기

IT기술/linux, windows|2021. 1. 15. 00:17

2019-12-09 작성

 

원래 ansible에는 telnet 모듈이 있기 때문에 yaml 형태로 만들어 명령을 실행하는 게 정석이겠으나… 귀찮다. 난 딱 한 번의 명령어로 수십대의 port open 현황을 알아내고 싶다.

 

telnet 모듈을 사용해서 ad-hoc command를 실행할 수도 있을 것 같은데 아직 성공 못했고, 편하게 shell 모듈을 사용한다.

ansible [server_list] -m shell -a "echo -e '\x1dclose\x0d' | telnet [IP] [PORT]"

 

echo에 있는 내용은 telnet의 close에 필요한 구문으로(아스키코드) expect 명령어의 역할을 대신 해준다. 저 구문 없이 telnet 명령어만 사용할 때에는 telnet이 세션을 잡고 있어서 원하는 결과가 나오지 않는다.

댓글()