見出し画像

TeraTermマクロでtelnetログインする方法

telnetログインは若干面倒な側面があります。というのも、ログイン処理をすべて自分で書かなくてはならないからです。


telnetログインのやり方

telnetログインを行うためには以下のような手順を踏む必要があります。

  1. connectで接続先の23/tcpへ接続する

  2. ログインプロンプト(login:)を受信したらユーザー名を送信する

  3. パスワードプロンプト(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円で購入していただくと、こんなメリットがあります。

  1. あなたの「ライブラリ」に記事が保存されるので、いつでも読み返せます。

  2. この記事が削除されても後で読み返すことができます。

  3. この記事にコメントすることができます。記事に不明点や質問があればコメントしてください。

続きをみるには

残り 0字

¥ 100

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?