入力(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

おすすめ記事