telnetは外部のコンピュータにアクセスするコマンドだ。
今回はtelnetコマンドを使用した自分以外へのコンピュータへのアクセス方法を解説する。
社内LANなどで他のコンピュータへアクセスするケースは多い。
目次
telnetコマンドの基本
対話モード
telnetコマンドは、次のように入力すれば対話モードで開始できる。
$ telnet
対話モードで開始した。
パソコンやネットワークが今ほど発達していない時代は、メインコンピュータという1台の大型コンピュータに端末という形で複数のユーザーが接続し、利用していた。
その時に利用していた方法である。
今日においても、様々なコンピュータ機器は、専用の接続方法で接続され、設定を行う際にこの対話モードでの接続が行われている。
telnetの対話モードでのコマンド
ほとんどは接続先機器のマニュアルに書いているコマンドを使うことになるが、共通したコマンドで覚えておいた方がよいものもあるので、紹介する。
display
現在の状況を表示する。
close
現在の接続を終了する。
status
現在の接続状況やできないことなどを表示する。
IPアドレスを指定して接続
対話モードで接続する機器もあるが、最近はUSBやTCP/IPで管理されるネットワーク経由で設定する機器の方が主流である。
そこで、IPアドレスを指定し接続する方法を説明する。
使い方は、次のとおり接続先としてIPアドレスを指定する。
$ telnet 接続先IPアドレスまたはDNSアドレス
telnetコマンドを使うには次の情報が必要だ。
接続先のIPアドレス、またはDNSアドレスを知っていること。
接続先のコンピュータに接続するユーザーが登録されていること。
さらにそのユーザーに接続許可がされていること。
telnetコマンドを利用する前に確認してみよう。
IPアドレス192.168.179.11のコンピュータに接続する場合は、次のコマンドだ。
$ telnet 192.168.179.11
するとログイン名を聞いてくるので入力する。
さらに、パスワードを聞いてくるので入力するとコンピュータに接続し、そのコンピュータを操作するコマンドを入力できるようにプロンプトが表示される。
IPアドレスが間違っている場合
IPアドレスが間違っている場合は、コンピュータをネットワーク上で見つけることができず、次のような表示となる。
というメッセージが表示される。
この場合は接続先のコンピュータのIPアドレスが間違っていないか確認するとともに、接続元と接続先のコンピュータがネットワーク自体に正しく接続されているか確認してみよう。
ユーザーにアクセス許可がない場合
ユーザーにアクセス許可がない場合は、コンピュータ上でユーザーを見つけることができず、次のような表示となる。
再度ログインユーザー名を聞いてくる。何度入力してもアクセスできない場合は、接続先のコンピュータの管理者に問い合わせよう。
ポート番号を指定して接続
機器によってはアドレスの他にポート番号と呼ばれる指定の番号で通信を待ち受けるよう設定している場合がある。
使い方は、次のとおり接続先としてIPアドレス、続いてポート番号を指定する。
$ telnet 接続先IPアドレスまたはDNSアドレス ポート番号
ポート番号は、telnetの場合は23が標準だ。
設定しないのであればポート番号は23が自動で設定される。
IPアドレス192.168.179.11のコンピュータに、ポート番号22で接続したい場合は、次の通りだ。
telnetコマンドのオプションたち
コマンドの一覧
後から詳細をご紹介するが、まずは一覧で見てみよう。
オプション -l
あらかじめログインユーザー名を指定する
オプション -e
エスケープ文字を指定する
オプション -a
自動ログインを行う。
オプション -d
デバッグモードでの動作となる。
では、詳しく見ていこう。
-lオプション:あらかじめログインユーザー名を指定する
あらかじめログインユーザー名を指定するオプションで、書式は次の通りだ。
$ telnet -l ユーザー名 接続先IPアドレスまたはDNSアドレス
ログインユーザー名がLimeでIPアドレス192.168.179.11のコンピュータにログインする場合のコマンドは、次の通りだ。
$ telnet -l Lime 192.168.179.11
ログインユーザー名は聞いてくることなく、パスワードのみ入力すればログインできる。
-eオプション:エスケープ文字を指定する
telnetコマンドにおいて、エスケープとは、対話モードに移行することである。
telnetコマンドで接続後にエスケープ文字を設定すれば、設定したエスケープ文字を入力しただけで対話モードへ移行できる。
書式は次の通りだ。
$ telnet -e エスケープ文字 接続先IPアドレスまたはDNSアドレス
エスケープ文字を!の文字で、IPアドレス192.168.179.11のコンピュータにログインする場合のコマンドは、次の通りだ。
$ telnet -e ! 192.168.179.11
-aオプション:自動ログインを行う
自動ログインの際のユーザーは、現在利用している端末が利用しているユーザー名でログインされ、ログインするのに入力が必要になる情報はパスワードのみとなる。
つまり、端末ソフトAにTaroというユーザー名でログインしている場合は、その端末ソフト内で外部コンピュータへ接続する際にもログイン名はTaroとなる。
書式は次の通りだ。
$ telnet -a 接続先IPアドレスまたはDNSアドレス
自動ログインで、IPアドレス192.168.179.11のコンピュータにログインする場合のコマンドは、次の通りだ。
$ telnet -a 192.168.179.11
-dオプション:デバッグモードでの動作となる
普通のtelnetコマンドで接続した場合、相手機器によってはできないことがある場合があり、もしも特殊なことをする場合はデバッグモードを利用する。
デバッグモードは相手機器を十分に理解していない場合は設定を自由に変更できるために、予想外の動作不具合を起こす可能性がある。
どうしてもデバッグモードではないといけない場合は、接続相手機器のマニュアルに沿って、間違えないように慎重に操作しよう。
書式は次の通りだ。
$ telnet -d 接続先IPアドレスまたはDNSアドレス
デバッグモードを有効にしながらIPアドレス192.168.179.11のコンピュータにログインする場合のコマンドは、次の通りだ。
$ telnet -d 192.168.179.11
関連コマンド
最後にtelnetコマンドに関連して、基本的な外部機器へアクセスするコマンドも紹介しておく
ssh
外部の機器と内容を暗号化し接続する。
exit
ログアウトする。
まとめ
今回は、telnetコマンドを使った外部機器との接続の方法を解説した。
ルーターなどのネットワーク機器との接続の場合に数多く利用されるが、遠方のコンピュータを操作することもできるので活用したい。
最近はIoT技術でもネットワーク機器以外にもセンサーや外部リソースを調整するのに、コンピュータを何らかの形で接続して調整しなければならない機器も多い。
昔からある技術ではあるものの、ハードウェア業界ではまだ標準として考えられているので、何かの場合に役に立つだろう。
覚えておいて損はないコマンドだ。
telnet -dオプションの書式と例が -aオプションのものになっています。
コメント頂きありがとうございます。
ご指摘の通り、-a → -d となります。該当箇所の記述を訂正いたしました。
引き続き、ご愛読のほど、よろしくお願いいたします。
IPアドレス192.168.179.11のコンピュータに、ポート番号22で接続したい場合は、次の通りだ。
具体的な事例の記載がないようです。