for 루프와 SSH를 사용하여 여러 서버에 로그인하는 스크립트를 작성하는 방법은 무엇입니까?

for 루프와 SSH를 사용하여 여러 서버에 로그인하는 스크립트를 작성하는 방법은 무엇입니까?

for 루프와 SSH를 사용하여 여러 서버에 로그인하는 스크립트를 작성하고 싶습니다. awk 명령을 사용하여 로그인한 후 일곱 번째 열을 출력으로 인쇄하고 싶습니다.

아래 스크립트를 시도했지만 해결할 수 없습니다.

에서 IP 목록을 만들었습니다 /tmp/list.

for i in `cat /tmp/list`
do
echo $i
echo "***********"
ssh $i |grep tsm |awk -F : '{print $7, "\t"}'
echo
done

답변1

퍼프 퍼프이를 더 쉽게 만들지만 ssh간단한 사용 사례에도 적합합니다.

위의 내용이 작동할 수 있지만 서버가 명령을 실행하고 로그인 시 종료하도록 설정된 경우에만(이는 거의 발생하지 않음) 다음과 같은 의미일 수 있습니다.

ssh $i <command> | grep tsm | ...

로그인 배너를 꼭 확인해야 하는 경우 대화형 셸을 시작하는 대신 ssh에서 즉시 반환하는 tsm명령을 사용해 보세요 .exit

ssh $i "exit" | grep tsm | ...

관련 정보