SSH를 통해 원격 호스트에서 스크립트를 실행하고 원하는 답변 자동화에 응답하세요.

SSH를 통해 원격 호스트에서 스크립트를 실행하고 원하는 답변 자동화에 응답하세요.

server0에서 (server1,server2,server3)까지 ssh(SSH에는 비밀번호가 필요하지 않습니다(모든 서버 간에 신뢰가 존재하고 모든 서버에 개인 키가 존재함)). 하지만 서버(server1,server2 & server3)의 원격 스크립트는 서비스를 시작합니다. 응용프로그램을 시작하려면 비밀번호가 필요합니다. SSH를 사용하고 원격 서버에서 자동으로 명령을 실행할 수 있기를 원합니다. 원격 스크립트에 비밀번호가 필요하거나 비밀번호가 포함된 비밀번호 답변이 필요합니다.

ssh -n -o StrictHostKeyChecking=no  servername remotescrip

스크립트를 실행하려면 애플리케이션 비밀번호를 입력하세요.

답변1

그런 다음 다음을 사용하십시오 expect.

expect -c 'spawn ssh serversuser@server' \
-c 'expect "serverprompt" {send /path/to/your/script\n}' \
-c 'expect "Enter application password to run the script:" {send yourpassword\n}'

관련 정보