
TelnetとSSHの違いについて
こんにちは。クレスコ・デジタルテクノロジーズ プロフェッショナルサービス2部のY. Yです。
本記事では、ネットワーク経由で遠隔操作を行う際に使用される代表的なプロトコルである「Telnet」と「SSH」について解説します。さらに、Ciscoルータへの設定方法やログイン手順についても説明します。
本記事の内容は、以下の環境で動作確認を行ったものです。他の環境での動作を保証するものではありませんので、必ずご利用の環境でご確認ください。
【 検証環境 】
PC:Windows11
ルータ:CISCO892-K9 Version 15.1(4)M6
■あわせて読まれている資料:
対応事例やネットワークサービス一覧を掲載!
→ネットワークテクノロジーサービス
目次[非表示]
Telnet/SSHについて
TelnetとSSHの違いと特性について説明します。
Telnet (ポート番号:TCP/23)
ネットワーク経由で遠隔地にあるサーバやルータ、スイッチにアクセスする際に使用するプロトコルです。
ただし、通信は暗号化されていないため、パケットキャプチャによってパスワードなどの情報が容易に取得される危険性があります。
SSH (ポート番号:TCP/22)
Telnet同様にリモートアクセスの機能や、またファイル転送(scp,sftp)などにも利用され、最大の特徴は、通信全体を暗号化している点です。公開鍵アルゴリズムや認証技術により、セキュアな通信を実現します。
通信の中身を見てみよう
実際にPCからルータへTelnetおよびSSHでリモートアクセスを行い、その通信内容をパケットキャプチャで確認します。
構成図

Telnet接続時
PC ⇒ RT1 にリモートアクセスし、以下のアカウントでログインしています。
username :RT1
password :cisco
すると、キャプチャ結果からユーザ名”R”,”T”,”1”の入力が1文字ずつ見えている事が分かります。

さらに、解析機能を使えば簡単に内容が分かってしまいます。


SSH接続時
同様にPC ⇒ RT1 にリモートアクセスし、以下のアカウントでログインしています。
username :RT1
password :cisco
SSHの場合は、「Encrypted Packet」と表示されているとおり、すべての通信が暗号化されているため、通信内容を確認することはできません。したがって、Telnetと比較して安全性が格段に高いことが分かります。

ルータへの設定の違い(Telnet)
以下構成図のPCからRT1にTelnetするための設定を行います。
構成図

Telnet接続するのに必要な設定
①IPアドレス設定
まずは、L3レベルで疎通できるように、RT1にIPアドレスの設定を行います。

疎通できることを確認するため、PCからpingを実行します。

②VTYポートで使用するプロトコルの設定
デフォルトではすべてのアクセスが許可されていますが、今回はTelnetに限定して設定を行います。

↓↓設定後

③Telnetログインパスワードを設定する
line vty 0 4にパスワードを設定します。
パスワードを設定しない場合、接続が拒否され、Telnetでログインできません。

④enableパスワードの設定(任意)
ここまでの設定でPCからRT1にTelnet接続してみます。

上記の通り、Telnet自体は問題なく接続できるのですが、特権EXECモードに移行することができません。
そのため、enableパスワードを設定します。

設定後は、特権EXECモードに移行することができました。

Telnetに必要な設定は以上になります。それでは、PCやRouterからの接続方法を説明します。
PCからルータへの接続方法
ここでは、PCにインストールしたTeraTermを使用して、接続していきます。
-ホスト:接続先のIPアドレスを入力
-サービス:Telnetを選択
あとは、[OK]をクリックすれば接続できます。
ルータからルータへの接続方法
ルータからTelnetするには以下のコマンドを実行します。
※ルータ間で疎通性があることを前提としています

■あわせて読まれている資料:
対応事例やネットワークサービス一覧を掲載!
→ネットワークテクノロジーサービス
ルータへの設定の違い(SSH)
続いて、PCからRT1にSSH接続するための設定を行います。
構成図

SSH接続するのに必要な設定
①hostnameの設定
デフォルトのホスト名のままだと、後のSSH暗号鍵生成時にエラーが出てしまうため、ホスト名を設定しておく必要があります。

②ユーザ名とパスワードの設定
SSH接続時に使用するユーザ名とパスワードを設定します。

③ドメイン名の設定
SSH暗号鍵生成に使用するドメイン名を設定します。

④暗号鍵の生成
SSH通信に使用する暗号鍵を生成します。
以下のコマンドを入力した後に、鍵長のサイズが求められますので、ここでは2048と入力しています。

生成したRSA鍵は「show crypto key mypubkey」で確認できます。Key nameに表示されている通り、設定していた、ホスト名とドメイン名の組み合わせになっていることが分かります。

また、SSHにはバージョン1と2がありますが、安全性の高いversion2を指定しておきます。

⑤VTYポートで使用するプロトコルの設定
SSHとTelnetを指定しておきます。

SSHに必要な設定は以上になります。それでは、PCやルータからの接続方法を説明します。
PCからルータへの接続方法
ここでは、PCにインストールしたTeraTermを使用して、接続していきます。
-ホスト:接続先のIPアドレスを入力
-サービス:SSHを選択

あとは、OKをクリックします。
すると、以下の警告が表示されます。ルータへの初回接続になりますので、ルータが作成した公開鍵情報がPC側で保持していないため、警告を受けます。”このホストをKnown hostsリストに追加する”にチェックすることで、次回以降の接続ではその鍵と一致するかどうか検証することで、ホスト認証を行っています。

[接続]をクリックすると、以下の画面になるのでユーザ名とパスワードを入力します。

[OK]をクリックし、問題なくRT1に接続することができました。

ルータからルータへの接続方法
ルータからssh接続するコマンドは以下になります。

TelnetとSSHのコンフィグ差分
最後にルータのコンフィグを確認します。
TelnetのコンフィグとSSHのコンフィグで、コンフィグ全体の中でどこに差が出るのかを確認します
Telnetのコンフィグ

SSHのコンフィグ

まとめ
本記事では、TelnetとSSHの設定方法およびアクセス手順について簡単にご紹介しました。
SSHは公開鍵アルゴリズムや認証の技術により高い安全性を実現しているため、通常はSSHの利用が推奨されます。一方、Telnetは設定もアクセスも手軽にできますので、ローカルな検証環境など限定的な用途では有用といえます。
■サービス一覧はこちら↓






