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