Telnet(テルネット)は、インターネット上やLAN内のコンピュータに接続し、そのコンピュータ上でコマンドを実行できるようにするためのプロトコルです。ユーザーがネットワーク上の他のコンピュータに接続し、そのコンピュータに存在するリソースやアプリケーションにアクセスできるようにすることを目的としています。
参考 プロトコルとは?
主にTCP/IPで使用され、デフォルトではTCPポート番号23を利用して通信します。
このページではTelnetとは何か?どのような原理で動作するか?をIT初心者向けに1からわかりやすく、また同時にSSHとの違いについても解説します。
ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。
Telnetとは?
Telnetは、インターネット上でリモートコンピュータ(=サーバ)に接続し、そのコンピュータ上でコマンドを実行できるようにするためのプロトコルです。主にTCP/IPネットワークで使用され、デフォルトでTCPポート23を利用して通信します。
Telnetは、クライアント-サーバーモデルを採用しています。
これは、あなたのコンピュータ(クライアント)がリモートのコンピュータ(サーバー)に接続し、コマンドを実行できるという意味です。インターフェースはテキストベースで、コマンドラインで操作を行います。
Telnetの注意点
Telnetはデータの暗号化や認証機能がなくセキュリティが低いため、現在ではほとんど使われていません。代わりに、SSH(Secure Shell)などのより安全なプロトコルが一般的に利用されています。たまに、平成初期から稼働しているようなレガシーシステムや、このページで記載しているようなネットワークエンジニアの教育目的での使用がまだ残っている、というような状況。
現代のモダンなシステムでTelnetを利用することはほとんどありませんが、このページではTelnetとは何か?をイメージしやすいように実際にTelnetを利用してサーバへ接続する方法をご紹介します。
あまり利用頻度は多くはありませんが、Telnetのイメージが深まると思いますので、是非一度試してみてください。
Telnetを利用したサーバへの接続方法
Telnetを利用したサーバ接続方法の作業ステップは↓の通り。
ステップ1:Telnetクライアントのインストール
Windowsの場合、コントロールパネルから「プログラムと機能」を選択し、「Windowsの機能の有効化または無効化」でTelnetクライアントを有効化。MacやLinuxでは、通常はTelnetクライアントが標準でインストールされています。
ステップ2:コマンドプロンプトまたはターミナルを開く
Windowsでは「cmd」または「PowerShell」、MacやLinuxでは「ターミナル」を開きます。
ステップ3:Telnetコマンドを入力する
次の形式でTelnetコマンドを入力します。
telnet [ホスト名またはIPアドレス] [ポート番号(オプション)]
例えば、ホスト名がexample.com
で、デフォルトのポート番号(23)を使用する場合、以下のように入力します。
telnet example.com
ポート番号が異なる場合は、次のように指定します(ここではポート番号は2323
とします)。
telnet example.com 2323
一般的には最近のサーバはファイアウォールでTelnet接続を許可していない(TCPポート23を閉塞している)ため、このような接続は恐らく失敗します。やるのであれば自前のVPSやローカルの開発環境を利用するようにしましょう。
参考 ファイアウォールとは?
接続が成功すると、リモートサーバのログイン画面が表示されます。指示に従って、ユーザー名とパスワードを入力してログインします。ログインに成功すると、リモートサーバでコマンドを実行することが可能になります。あとは、いつも通り自分の端末でコマンドで様々な操作をするようなイメージで、サーバ側の操作を行うことができます。
操作が終わったら、「exit」または「logout」コマンドを入力して接続を終了します。
TelnetとSSHの違い
TelnetとSSHは、どちらもリモートコンピュータへの接続やコマンド実行を行うためのプロトコルですが、主にセキュリティの面で大きな違いがあります。以下に、それぞれの特徴と違いをわかりやすく解説します。
項目 | SSH | Telnet |
---|---|---|
セキュリティ | データが暗号化されるためセキュリティが向上する | 平文(暗号化せずにそのまま)で接続を行うためデータが傍受される可能性がある |
認証 | 公開鍵認証やパスワード認証をサポートしセキュリティを強化できる | パスワード認証のみをサポートしている |
ポート番号 | ポート番号22を使用する | ポート番号23を使用する |
プロトコル | TCPを使用する | TCPまたはUDPを使用できる |
機能 | ファイル転送やポート転送など様々な機能がある | 機能が限定されており基本的なコマンドライン操作のみが可能 |
まとめると、TelnetとSSHは同様の目的で使用されますが、セキュリティ面で大きな違いがあり、現代ではSSHが一般的に使用されるプロトコルということになります。
ネットワーク学習の決定版(ネットワークエンジニアを目指すなら必見!)
↑ページ数が多く誰でも手軽に読める内容ではありませんが、ネットワークエンジニアであれば、ほぼ全員が一度は読んだことがある超・有料書籍。是非一度読破しておきたい1冊のご紹介です。
読者特典> 0から学ぶネットワーク入門