0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

challenge_clubAdvent Calendar 2023

Day 20

sshで遠隔の端末にコマンドを投げまくる

Last updated at Posted at 2023-12-19

あらすじ

  • sshで遠隔の端末にコマンドを投げたい事がある
  • 対象台数が1台2台の場合もあるが、時には10台〜20台が対象である場合しばしばもある
  • 手動だとやってられないので一撃でコマンドを投げたい事がある

sshについて

https://ja.wikipedia.org/wiki/Secure_Shell
Secure Shell(セキュア シェル、SSH)は、暗号や認証技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証を含むすべてのネットワーク上の通信が暗号化される。

パスワード(user/passwordを使う場合)

※どちらかというと後述の公開鍵認証を利用した通信の方が良さそうだが備忘メモ的に記載する

USER="xxx"               # アクセス先のユーザ名
IPADDR="xxx.xxx.xxx.xxx" # アクセス先のIPアドレス
COMMAND="ls && pwd"      # 実行したいコマンド(先は一例)

# コマンドを投げる
# `key_password`ファイルにpasswordを記載しておく
sshpass -v -f ./key_password ssh ${USER}@${IPADDR} bash -c "${COMMAND}"

公開鍵認証を利用した通信をする場合

事前に公開鍵認証を利用するための設定をしておく
以下のクライアントPCからリモートサーバーへ公開鍵を転送して登録するの部分を設定しておく

SSH公開鍵認証で接続するまで

# 事前にSSH公開鍵通信のための設定をしておく

USER="xxx"                 # アクセス先のユーザ名
IPADDR="xxx.xxx.xxx.xxx"   # アクセス先のIPアドレス
COMMAND="ls && pwd"        # 実行したいコマンド(先は一例)
KEY_FILE_PATH="~/.ssh/xxx" # 鍵ファイルのパス

# コマンドを投げる
ssh -i ${KEY_FILE_PATH} -p ${PORTNO} ${USER}@${IPADDR} bash -c "${COMMAND}"

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?