SSH(パスワード認証)の接続先で複数コマンド実行の自動化してみた
目的
リリース時に毎回手作業でおこなっていたためJenkinsのジョブに組み込みたかった
1. sshpassのインストール
- パスワード認証をコマンドで実行できるように
sshpass
をインストール - 環境がUbuntuのため
apt install
でおこないました
$ sudo apt install sshpass
コマンドだけでSSH接続できるようになりました
$ sshpass -p [password] ssh -o StrictHostKeyChecking=no user@host
2. コマンド実行
対象のディレクトリへ移動してコマンドを実行するのみなので、"command1 && command2"
でコマンドを囲ってつなげました
$ sshpass -p [password] ssh -o StrictHostKeyChecking=no user@host "cd /path/to/directory && command"
実行できたので、Jenkinsのジョブに追記して組み込み完了
めでたしめでたし。
※パスワードの管理は気をつけてください。