1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

複数のtelnet接続を少ない手間で操作する Tips for macOS iTerm

Last updated at Posted at 2017-12-03

初回投稿は挿入画像など、Uploadできる容量に2MBの制限あるということで、この制限を100MBに引き上げるために ライトな投稿を1つしておきたいと思います。

macOS iTerm + AppleScript で 複数のtelnet接続を行い、 iTerm の tab で全ての telnet セッションを一つの windowにまとめる手法をご紹介します。
iTerm の 一つの windowでまとめることができれば、全ての tab に同時に同じ CLI 操作を行うことができるため、大量の機器に対して同時に同じ設定や確認コマンドの出力結果を把握することができるようになります。

AppleScript で macOS iTerm から tap でわけならが複数のtelnet セッションを実行するスクリプト例

set theList to {"10.X.X.X 2002", "10.X.X.X 2003"}
tell application "iTerm"
   activate
   tell current window
      repeat with curItem in theList
         create tab with default profile
         set firstTab to current tab
         tell current session of current tab
            write text "telnet " & curItem
            write text " "
            write text " "
         end tell
      end repeat
   end tell 
end tell

iTermで複数 Tab を管理する場合、以下の操作は重宝します。
shift + command + → で tab を右となりの tab に遷移
shift + command + i で、警告ウィンドウが表示された後、ブロードキャスト機能開始 (複数タブで同じコマンドを実行)

これで Console Server 経由で 複数の機器への コンソール接続もできるようになりました。
大量の機器に対しての show commandの出力結果を見たり、共有設定をしたり、 IOSの変更が容易にできるようになります。

もし、Console Server にセッションが残ってしまい 接続拒否された場合は、Console Server に入り clear line すると思いますが、
大量のコネクションに対して clear line するのも面倒なので、以下のようなスクリプトを bash で実行すると楽になります。
ex) 10.X.X.X の Console Server の 2002 - 2038の line を clear する

(for IP in {2..38}; do
   usleep 10000; echo ;
   usleep 10000; echo ;
   usleep 100000; echo clear line $IP;
   usleep 10000; echo ;
   usleep 10000; echo ;
   done;
) | telnet 10.X.X.X 23

以上です。ちょっとでも検証が楽になれば幸いです。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?