Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2912

ssh ログインをして、リモート先で sudo コマンドを一斉に行う方法

$
0
0

ssh ログインをして、リモート先で sudo コマンドを一斉に行う方法です。

sshpass だけ必要になりますので先にインストールを行います

sudo apt install-y sshpass ;

シェルファイルの作成

gedit login_and_cmd.sh;

以下のコードを保存します。

login_and_cmd.sh
#!/bin/bash# 環境変数の指定。ユーザー名とIPアドレスの指定LOGIN_USER_NAME=myloginname
IP_ADDRESS_ARR=("192.168.0.xxx""192.168.0.xxx""192.168.0.xxx")# コマンド実行にパスワードを格納するecho-n"Type your password: "read-s SSHPASS

# IPアドレスの分だけfor文を回すfor IP_ADDRESS in${IP_ADDRESS_ARR[@]}do# 実際のコマンド
  sshpass -p$SSHPASS ssh $LOGIN_USER_NAME@$IP_ADDRESS-tt<<EOL

    echo "${SSHPASS}" | sudo -S hostname
    echo "${SSHPASS}" | sudo -S apt update
    echo "${SSHPASS}" | sudo -S apt upgrade -y
    echo "${SSHPASS}" | sudo -S apt autoremove -y

    exit
EOL

done

実行

bash login_and_cmd.sh ;

ちょっとターミナルにパスワードが表示されるのでアレですが、もしかしたらもっとうまく隠せるかもしれません。

参考リンク


Viewing all articles
Browse latest Browse all 2912

Trending Articles