ネットワーク

Teratermマクロでtelnet自動接続する方法

ネットワーク機器へtelnetで接続する作業をTeratermマクロで自動化します。IPアドレスとポート番号を変数にしておけば、機器ごとにマクロを書き換える必要がなくなります。

構文

connect <接続文字列>

接続文字列はTeraTermのコマンドライン引数と同じ形式です。

使用例

IPADDRESS = '1.1.1.1'
Port = '23'

Con = ''
strconcat Con IPADDRESS
strconcat Con ':'
strconcat Con Port
strconcat Con ' /nossh /T=1'

connect Con

Con の中身は最終的にこうなります。

1.1.1.1:23 /nossh /T=1

つまり、次の1行と同じ意味になります。

connect '1.1.1.1:23 /nossh /T=1'

オプションの意味

オプション 意味
/nossh SSHを使わずtelnetで接続する
/T=1 telnetプロトコルを有効にする
/T=0 telnetプロトコルを無効にする(生のTCP接続)
/timeout=5 接続タイムアウトを5秒にする

/nossh を付け忘れると、SSH設定が有効な環境ではSSHで接続しにいってしまいます。telnetを明示したい場合は必ず付けてください。

シリアルコンソールで接続する場合

COM1で接続する場合は次のように書きます。

connect '/C=1'

/C= のあとの数字がCOMポート番号です。COM3なら /C=3 になります。

接続後にログインする

telnet接続後、ユーザ名とパスワードの入力を自動化するには waitsendln を組み合わせます。

connect '1.1.1.1:23 /nossh /T=1'

wait 'Username:'
sendln 'admin'
wait 'Password:'
sendln 'password'
wait '#'

wait は指定した文字列が画面に現れるまで待ちます。機器によってプロンプトの文言が違うので、実機で確認してから書いてください。

注意点

telnetは通信が暗号化されません。IDとパスワードが平文でネットワークを流れるため、検証環境や閉じたネットワーク以外ではSSHを使ってください。

関連記事

-ネットワーク