SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【linux】sshpass 使用例

問題

パスワード認証のsshで対話しないでパスワードを入力したい。

(バッチ処理、自動処理、大量のサーバー宛てに自動的に処理するときなどに)

sshpass

答え

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

関連するメモ

コメント