【linux】sshpass 使用例
問題
パスワード認証のsshで対話しないでパスワードを入力したい。
(バッチ処理、自動処理、大量のサーバー宛てに自動的に処理するときなどに)
答え
CentOS6やCentOS5では、yumリポジトリにEPELのリポジトリを追加したら、yumでインストール可能。
yum install sshpass
使い方
sshpass -p PASSWORD ssh USERNAME@ADDRESS command 引数
使用例
httpd を停止する
sshpass -p 'パスワード' ssh -o StrictHostKeyChecking=no -l root 192.168.0.211 /etc/init.d/httpd stop
httpd を開始する
sshpass -p 'パスワード' ssh -o StrictHostKeyChecking=no -l root 192.168.0.211 /etc/init.d/httpd start
ファイルを確認する
sshpass -p 'パスワード' ssh -o StrictHostKeyChecking=no root@192.168.0.211 ls -l /var/log/messages
プロセスを確認する
sshpass -p 'パスワード' ssh -o StrictHostKeyChecking=no root@192.168.0.211 ps aux | grep crond
結果しか出力されないので、大量のサーバーにコマンドを送るときは、先頭に echo などつけておくと出力がわかりやすい。
echo 192.168.0.211 ; sshpass -p 'パスワード' ssh -o StrictHostKeyChecking=no root@192.168.0.211 ps aux | grep crond echo 192.168.0.212 ; sshpass -p 'パスワード' ssh -o StrictHostKeyChecking=no root@192.168.0.212 ps aux | grep crond echo 192.168.0.213 ; sshpass -p 'パスワード' ssh -o StrictHostKeyChecking=no root@192.168.0.213 ps aux | grep crond
コメント