今回はその第二弾となります
■スクリプト
#!/bin/sh name="session_name" password="Enter your password" ip_list=(ip1 ip2 host1 host2) tmux new-session -s ${name} -d for i in ${ip_list[@]} do tmux new-window -t ${name} -n ${i} tmux send-keys -t ${i}.0 "ssh ${i}" C-m sleep 5 tmux send-keys -t ${i}.0 "${password}" C-m echo "ssh ${i}" done
■説明
- 今回は1つ以上、tmuxセッションがない状態でも実行できるスクリプトです
- name に作成するセッション名を設定します
- password にsshをするホストのパスワードを設定します
- ケースとして同一パスワードを設定している複数ホストを想定しているのでパスワードが異なる複数のサーバの場合は修正が必要になります
- forループを使用して ip_list で指定したIPアドレスまたはホストに対してパスワードのsshログインを順番に実行していきます
- sshログインをするホストごとに新しいタブを作成します
- 異なるパスワードの複数ホストに対応する方法としては ip_list の他に password_list という配列を作成してforループの中でpassword_listの中からも順次値を取得する感じにするのがいいと思います
0 件のコメント:
コメントを投稿