ネットワーク機器へ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接続後、ユーザ名とパスワードの入力を自動化するには wait と sendln を組み合わせます。
connect '1.1.1.1:23 /nossh /T=1'
wait 'Username:'
sendln 'admin'
wait 'Password:'
sendln 'password'
wait '#'
wait は指定した文字列が画面に現れるまで待ちます。機器によってプロンプトの文言が違うので、実機で確認してから書いてください。
注意点
telnetは通信が暗号化されません。IDとパスワードが平文でネットワークを流れるため、検証環境や閉じたネットワーク以外ではSSHを使ってください。