teraterm ログインマクロ

ユーザ名とパスワードでログイン

;接続情報
HOSTADDR = 'IPアドレス'
USERNAME = 'ユーザ名'
PASSWORD = 'パスワード'
PORTNUM = 'ポート'

;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;接続
connect COMMAND

end

「;」はコメントアウト
strconcatで、変数COMMANDに文字列として接続情報を追加していく
最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード

ユーザと公開鍵でログイン

;接続情報
HOSTADDR = 'IPアドレス'
USERNAME = 'ユーザ名'
KEYFILE  = '公開鍵のパス' 
PORTNUM  = 'ポート'

;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=publickey /user=' 
strconcat COMMAND USERNAME 
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEYFILE

;接続
connect COMMAND

end

最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=publickey /user=ユーザ名 /keyfile=公開鍵のパス

選択したホストへログイン

;メッセージボックス
MESSAGE = '接続するホストを選択してください'#13#13 
strconcat MESSAGE '【1】ホスト1'#13 
strconcat MESSAGE '【2】ホスト2'#13 
strconcat MESSAGE '【3】ホスト3' 
inputbox MESSAGE '接続マクロ'
 
;文字列を数字に変換 
str2int HOSTNUMB inputstr
 
;入力された数字に応じて変数定義
if HOSTNUMB = 1 then 
    HOSTADDR = '1が入力された場合のIPアドレス' 
elseif HOSTNUMB = 2 then 
    HOSTADDR = '2が入力された場合のIPアドレス' 
elseif HOSTNUMB = 3 then 
    HOSTADDR = '3が入力された場合のIPアドレス' 
else 
    messagebox '1~3を入力してください' '入力エラー' 
    end 
endif

;ホスト以外の接続情報
USERNAME = 'ユーザ名'
PASSWORD = 'パスワード'
PORTNUM = 'ポート'

;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;接続
connect COMMAND

end

2,3,4行目
#13
メッセージ内で使う改行

6行目
inputbox A B
入力ボックスAをメッセージBを表示する

19行目
messagebox A B
ウィンドウAでメッセージBを表示する

最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード

参考

TeraTermマクロサンプル-SSH自動ログイン(接続先選択版) | Tera Term(テラターム)の便利な使い方
Tera Term(テラターム)のマクロ機能を利用し、SSHプロトコル(パスワード認証 = ユーザ名+パスワードでログインを行う接続方法)でサーバに自動ログインするマクロをご紹介します。 今回ご紹介するのは、以下のような …

ログイン後にコマンド実行

;接続情報
HOSTADDR = 'IPアドレス'
USERNAME = 'ユーザ名'
PASSWORD = 'パスワード'
PORTNUM  = 'ポート'
SUPASS   = 'SUパスワード'

;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;接続
connect COMMAND

;ログイン待ち
wait "login"

;date他実行
sendln "date;uname -n;whoami"

;プロンプト待ち
wait "$"

;su実行
sendln "su -"

;パスワード入力待ち
wait "パスワード"

;パスワード送信
sendln SUPASS

end

21,26,33行目
wait “文字列”
文字列を待機する

23行目
sendln “文字列”
文字列を送信する

最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード

参考

TTL コマンドリファレンス

踏み台サーバ経由でログイン

;接続情報(踏み台)
HOSTADDR = 'IPアドレス1'
USERNAME = 'ユーザ名1'
PASSWORD = 'パスワード1'
PORTNUM = 'ポート'

;接続情報(目的)
HOSTADDR2 = 'IPアドレス2'
USERNAME2 = 'ユーザ名2'
PASSWORD2 = 'パスワード2'

;コマンド組み立て(踏み台)
COMMAND = HOSTADDR 
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user=' 
strconcat COMMAND USERNAME 
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;接続(踏み台)
connect COMMAND

;ログイン待ち(踏み台)
wait "login"

;コマンド組み立て(目的)
COMMAND = 'ssh '
strconcat COMMAND USERNAME2
strconcat COMMAND '@'
strconcat COMMAND HOSTADDR2

;接続(目的)
sendln COMMAND

;パスワード受付待ち(目的)
wait 'password:'
sendln PASSWORD2

end

最終的には下記の形式のコマンドになり、接続する
踏み台
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード
目的
ssh ユーザ名2@IPアドレス2

参考

TeraTermで踏み台サーバ→別サーバへのssh接続を一発で。 - Qiita
#訳あって一発でssh接続できない場合がよくあるセキュリティ的な理由だったりユーザ管理的な理由だったり。接続先を指定したショートカットは作れるけど、踏み台経由ってどうやるの!という人向け。【手…

設定ファイルの読み込み

;接続情報
HOSTADDR = 'IPアドレス'
USERNAME = 'ユーザ名'
PASSWORD = 'パスワード'
PORTNUM = 'ポート'

;コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORTNUM
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;設定ファイルの読み込み
INIFILE = '設定ファイル'
strconcat COMMAND ' /F=' 
strconcat COMMAND INIFILE

;接続
connect COMMAND

end

17行目
設定ファイルは、フルパスではなくファイル名

18,9行目
/F=設定ファイルで設定ファイルを指定する

最終的には下記の形式のコマンドになり、接続する
connect IPアドレス:ポート /ssh /2 /auth=password /user=ユーザ名 /passwd=パスワード /F=設定ファイル

コメント

タイトルとURLをコピーしました