입력(sshpass?) 원격 cmd exec를 통해 여러 로컬 서버에서 SSH 실행

입력(sshpass?) 원격 cmd exec를 통해 여러 로컬 서버에서 SSH 실행

현재 다음 형식의 "user:password"가 포함된 입력 파일에서 여러 로컬 서버에 대한 원격 명령을 실행하기 위한 솔루션을 찾고 있습니다.

jboss5:manager:192.168.1.101
database1:db01:192.168.20.6
server8:localnet:192.168.31.83
x:z:192.168.1.151
test:mynet:192.168.35.44
.... and others

원격으로 실행하고 싶은 일부 명령은 다음과 같습니다.

cd $HOME; ./start_script.sh; wget 192.168.1.110/monitor.sh; chmod +x monitor.sh; ./monitor.sh

"sshpass"라는 유틸리티가 있다는 것을 알고 있지만 해당 유틸리티를 내 필요에 맞게 적용하는 방법을 잘 모르겠습니다.

답변1

Yes sshpass is a good option, you can use it as below

    sshpass -p "pass_here" ssh user@ip "cd $HOME; exit" #password is provided on the command line with semi-colon separated commands

Note: you need to install sshpass before you use it, it can be install using simple command as below,

    apt-get install sshpass

관련 정보