32歳からはじめるTeraTermマクロ 自動ログイン編

部署異動したり、パソコンも新しいのになったりして、環境設定するのにせっかくだから何かチャレンジしたいな、と。
 
■ TeraTermのインストール
↓でteraterm-4.73.exeをダウンロードしてインストールします
http://sourceforge.jp/projects/ttssh2/downloads/55061/teraterm-4.73.exe/
↓のように四の五の言わずにフルインストールするわけなんですが、

そうしておくとタブ表示できたり、自動ログインのアレとか、マクロなアレとかついてきます。
LogMeTTはインターネットに接続してホゲホゲするのでプロキシ接続するには
Named Proxyってのにします。Default Proxyだとブラウザのプロキシ設定を使用するみたいです。

 
■ サンプルマクロをいじる
TeraTermをインストールしたディレクトリに.ttlというファイルがあるのですが、
それがマクロのソースコードたちになります。
ここにあるのをコピペしてホゲホゲすれば、、という感じで。。
とりあえずtelnetで繋げてみます。

; Sample macro for Tera Term
;  Telnet login

; open Tera Term
;   command line = 'TERATERM myhost.mydomain' (telnet)
connect 'myhost.mydomain:23 /nossh /T=1' ※1

; set username
UsernamePrompt = 'login:' ※2
Username = 'oreore'
PasswordPrompt = 'Password:'
; get password from file
getpassword 'password.dat' 'mypassword' Password ※3

; login
wait   UsernamePrompt
sendln Username

wait   PasswordPrompt
sendln Password

; OK, auto login complete.

 
※1 connect
http://ttssh2.sourceforge.jp/manual/ja/macro/command/connect.html によると↓だそうです。
/nossh を指定することを強く推奨します。
このオプションがない場合、Tera Termは teraterm.ini が最後に保存されたときと同じメソッド(telnet もしくは SSH)を使って、
接続しようとします。もし、SSHを使って接続しようとするならば、connectマクロは失敗するでしょう。
/T=1 を使うことを推奨します。
このオプションがない場合、Tera Term は teraterm.ini の Telnet の値にしたがって接続しようとします。
もし、Telnet の値も off の場合、Tera Term は telnet ネゴシエーションをしないので、意図したとおりの通信ができないでしょう。

 
※2 プロンプト
1回しか使わないならわざわざ変数宣言しなくてもイイと思うけど。。
telnet叩いてユーザー名聞かれる時の文字列に変えてやります。
 
※3 パスワード暗号化
初回は↓のようなプロンプトが表示されてパスワードを入力します。

そうすると↓のディレクトリに暗号化されて保存してくれます。
C:UsersoreoreAppDataLocalTTLEditTemp_TTLpassword.dat
いやー、これは便利ですねー。その昔、Ubuntuからexpectコマンドでホゲホゲしてましたが、
こういうソリューション無いかなぁって思ったものです。(無きゃお前が作れよって話ですがw)
 
ここから先は『wait』がプロンプトで『sendln』が入力コマンドなので、
対話型でやってた事をシェル化出来るっていうだけの話なのでアレやコレやって感じで。
 
■ TeraTerm Menuから起動
TeraTerm Menu(タスクバーにいるTeraTermのちっこいアイコン的なヤツ)を右クリックして
上記で作ったマクロを指定して登録してやります。

登録後はTeraTerm Menuを左クリックすると、どのマクロかってのを選べるようになるので、
登録したマクロを叩いて想定通り動けばメデタシメデタシです。
 

CentOS徹底入門 第2版 (DVD付)
中島 能和 飛田 伸一郎
翔泳社
売り上げランキング: 111773

コメント

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