昔のネットワークには欠かせなかったTelnet

かつてのネットワーク管理者、HTTPSやSSHが広く普及する前のネットワークでは、Telnetコマンドはなくてはならないコマンドだった。Telnetコマンドは、ネットワークを経由してリモートからホストにログインする方法として使われていた。現在のsshで行うような役割をTelnetは担っていたわけだ。

また、Telnetはリモートログインという用途のみならず、さまざまなサーバに接続して状況を調べるコマンドとしても使われていた。Telnetコマンドを使うと、ホストの任意のサービスに接続してインタラクティブに会話を行うことができる。当然、操作するには対象サービスのプロトコルを手動で入力する必要があるが、トラブルシューティングを行うにはうってつけのツールだった。多少の工夫をすれば、Telnetコマンド経由で対話処理を自動化することもできる。

Telnetは、ネットワークに接続するタイプのデバイスと対話するツールとしても利用できた。Telnetはともかく、ネットワークを使う上で、ある程度コンピュータに詳しいユーザにとっては欠かすことのできないものだった。

通信の秘匿が求められるようになって消えたTelnet

しかし、コンピュータが広く普及し、オンラインショッピングが日常的なものになると状況が一変する。オンラインショッピングなどの金銭に関する情報がやり取りされるようになると、通信内容を秘匿する必要が出てくる。それまでHTTPが使われていた通信は、徐々に暗号化されたHTTPSへ置き換わっていく。

Telnetもそうだ。リモートからホストにログインする方法として使われてきたが、Telnetは通信を暗号化しない。入力している内容はダダ漏れの状況だ。そのため、Telnetを使ったリモートホストにログインするといった手段は取られなくなり、代わりにsshが使われるようになった。

こうした流れはWebやリモートログインのみならず、さまざまなサービスで起こっていった。メールもそれまでの通信内容が暗号化されていないものから、通信内容が暗号化されたものへ変わっていった。さまざまな通信が暗号化されるようになっていった。

Telnetに替わるコマンド、それはOpenSSL

現在でもTelnetコマンドが使われることはあるが、その機会はかなり減っている。暗号通信を行わないTelnetが使用できるシーンそのものが減っているためだ。Telnetは便利なコマンドだっただけに、Telnetと似たようなことができなくなったのは不便だ。しかし、それに替わるコマンドはちゃんと存在している。

Telnetに替わるコマンドについて、Opensource.comが「Drop Telnet for OpenSSL | Opensource.com」でOpenSSLを取り上げており、Telnetが担ってきた作業のほとんどはOpenSSLのs_clientコマンドを使って実施できると説明している。

OpenSSLはHTTPSなどの実現に欠かすことのできないソフトウェアだ。OpenSSLといえば、暗号化技術のためのライブラリやフレームワークと認識されているだろう。2014年に「Heartbleed」と呼ばれる深刻度が高く影響範囲が広大な脆弱性が広く知られるようになった時、脆弱性を抱えていたOpenSSLが多くの人に認知されるようになった。現在でもOpenSSLは基盤ソフトウェアのひとつであり、インターネットの安全性を支える重要なソフトウェアだ。

このOpenSSLはTelnetのようにリモートホストへの接続機能も提供している。要するに、OpenSSLはこれまでのTelnetのように使うことができるのだ。まだ試したことがなければ、Telnetに替わるツールとして一度使ってみてほしいコマンドだ。Telnetで直接対話していた時のような操作が行える。