TeraTermマクロでtelnetログインする方法
telnetログインは若干面倒な側面があります。というのも、ログイン処理をすべて自分で書かなくてはならないからです。
telnetログインのやり方
telnetログインを行うためには以下のような手順を踏む必要があります。
connectで接続先の23/tcpへ接続する
ログインプロンプト(login:)を受信したらユーザー名を送信する
パスワードプロンプト(password:)を受信したらパスワードを送信する
telnetログインが面倒だと最初に書いたのは、ログインやパスワードのプロンプトが接続先によって異なるためです。大抵は「login」や「password」なのですが、必ずしもそうとは限らないので事前にどのようなログイン・パスワードプロンプトが表示されるのか調べておく必要があります。
TeraTermマクロでtelnetログインする
telnetログインするには次のようにします。
connect '192.168.0.1:23 /nossh /T=1'
wait 'login:'
sendln 'foo'
wait 'Password:'
sendln 'MyPassword'
ポート番号を指定する
まずconnectの引数に注目すると192.168.0.1:23となっています。
この「:23」という箇所はポート番号を指定しています。TeraTermマクロでtelnetログインする場合は、明示的にポート番号を指定するとトラブルを未然に抑えることができます。
次に「/nossh」というのはsshプロトコルを使わないという事を明示的に指定しています。TeraTermの設定ファイル(teraterm.ini)の内容によってはsshプロトコルで接続を試みる場合があるので「/nossh」を指定するとトラブルを未然に防ぐことができます。
最後に「/T=1」というのは、telnetプロトコルを使用すると言う意味です。これがないとtelnetでログインすることができないので、必ず指定します。
ログインプロンプトを受信するまで待つ
次はwaitが出てきました。これは引数で渡した文字列を受信するまでTera Termマクロの動作を停止させるためのTTLコマンドです。ここではログインプロンプトの「login:」という文字列を受信するまで待っています。
ユーザー名を送信する
次にsendlnでユーザー名を送信しています。
sendは送信、lnはlineの略で改行を意味します。このTTLコマンドは引数で渡した文字列を送信後、キーボードのReturn(Enter)キーを押下したことと同様の動作をします。
パスワードプロンプトを受信するまで待つ
ユーザー名を入力するとパスワードプロンプト(Password:)が表示されるので、それまでTeraTermマクロの動作を停止させるためにwaitで待ち受けています。
パスワードを送信する
パスワードプロンプトを受信したら、最後にsendlnでパスワードを送信してtelnetログインは完了します。
この続きはありません。
しかし、100円で購入していただくと、こんなメリットがあります。
あなたの「ライブラリ」に記事が保存されるので、いつでも読み返せます。
この記事が削除されても後で読み返すことができます。
この記事にコメントすることができます。記事に不明点や質問があればコメントしてください。
続きをみるには
¥ 100
この記事が気に入ったらサポートをしてみませんか?