원격 종료 스크립트

원격 종료 스크립트

Ubuntu 22.04를 실행하는 교실에서 컴퓨터를 종료하는 스크립트가 있습니다. 스크립트는 모든 시스템을 종료하지만 중단되고 종료되지 않습니다. 다른 것이 있으면 스크립트에 추가하거나 변경해야 합니다. hothost종료하려는 컴퓨터의 IP 주소가 포함된 파일입니다.

#!/bin/bash

while read host; do
   sshpass -p 123456 ssh "root@$host" shutdown -h now &
done < hothost 

답변1

비밀번호 대신 sshkeys를 사용하겠습니다. 또한 종료를 수행하기 전에 스크립트가 종료될 시간을 제공하기 위해 shutdown -h +1을 사용하여 향후 1분 후에 종료를 예약합니다. 여전히 멈춘다면 스크립트가 닫히는 동안 대상의 기본 터미널에 로그인하여 무엇이 멈췄는지 확인하는 것이 좋습니다.

답변2

스크립트에 < /dev/null을 추가하고 문제를 해결했습니다.

 #!/bin/bash
 while read HOST ;
 do sshpass -p 123456 ssh "root@$HOST" "hostname; shutdown now " < /dev/null; 
 done < hothost

관련 정보