【ssh/Bash】sshでログインして実行して自動的に抜けて返ってくる最も簡単な方法

やりたいこと

sshでサーバーにログインして、なんらかのコマンドを実行しターミナルに表示、ミッション終了後、ターミナルを自動的にログアウトしてローカルに何事もなかったかのようにもどってくる最も簡単な方法ってなにかないでしょうか。

イメージ

従来の方法

ローカルPCのターミナル

↓ Linuxサーバーにログイン

$df $uptime などを実行

↓ Linuxサーバーをログアウト

ローカルPCにもどる

これからつくるBash/ssh

ローカルPCのターミナル
↓ 
Linuxサーバーにログイン 
$df $uptime などを実行 
Linuxサーバーをログアウト
↓ 
ローカルPCのターミナルにもどる

わかりにくいですか?
まず、メリットとしてサーバーでコマンドからログアウトする必要がありません。
これができれば、一台一台サーバーのヘルスチェックをせずとも、数十台のサーバーを
順番に訪ね歩きファイルに出力する事も可能です。

以下、ソースです。

#!/usr/bin/bash

##############################################
# sshでサーバーにログインして、なんらかのコマンドを
# 実行しターミナルに表示、ミッション終了後、ターミ
# ナルを自動的にログアウトしてローカルに何事もなか
# ったかのようにもどってくる最も簡単シェルスクリプト
##############################################
#
# サーバーのIPアドレスとか
SERVER="centos@xx.xx.xx.xxx"
# 実行したいコマンドを && でつなぐ
COMMAND="uptime && df -h";

echo "centosサーバーログイン"; 

# ポイントは -t です。
ssh $SERVER  -t $COMMAND; 

echo "centosサーバーログアウト";

exit;

たったこれだけですが、この工夫により多くのサーバーを
スクリプトで一括回遊することができます。 お試しあれ。

知識ゼロからのe-Statマイニング

知識ゼロからのe-Statマイニング

SCSS/CSSを含んだファイルがGitHubActionsでビルドできない

SCSS/CSSを含んだファイルがGitHubActionsでビルドできない