Ciscoルータやスイッチへリモートでアクセスする手段として「Telnet」があります。古くから使われているプロトコルで、学習環境でのリモートアクセス確認や初期設定の動作理解に活用されています。
本記事では、CiscoルータにTelnet接続を有効化するための設定手順と、transport inputコマンドの意味・loginとlogin localの違い・トラブル時の切り分け方法まで詳しく解説します。
ネットワークの勉強を始めた頃、GNS3でルータを動かしてTelnet接続を試みたのにまったくつながらないことがありました。インターフェースにIPを設定してno shutdownもした。なのになぜ?
原因はVTYラインの設定漏れでした。line vty 0 4にパスワードを設定していなかったため、ログイン自体が拒否されていたのです。「IPが通ればTelnetできる」と思い込んでいた自分の理解不足でした。VTYラインの設定がTelnet接続に必須だと痛感した経験です。
前提条件と準備
| 必要なもの | 詳細 |
|---|---|
| Ciscoルータ(実機またはGNS3) | ISR 900/1000シリーズなど。GNS3・Packet Tracerでも動作確認可能 |
| Telnetクライアント | Tera Term・PuTTYなどのターミナルソフト。Windowsのコマンドプロンプト(telnetコマンド)でも可 |
| PCとルータのIP疎通 | PCからルータのインターフェースIPへpingが通る状態 |
| コンソール接続(初期設定時) | 最初の設定はコンソールケーブルで直接接続して行う |
Telnet接続のためのCiscoルータ設定手順
PCからTelnetで到達できるよう、ルータのインターフェースにIPアドレスを設定します。
Router> enable
Router# configure terminal
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip address 192.168.10.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# exitno shutdownを忘れるとインターフェースがダウンしたままになります。設定後はshow interfaces GigabitEthernet0/0でUP/UPになっているか確認してください。VTYライン(仮想端末)にパスワードを設定し、Telnet接続を許可します。
Router(config)# line vty 0 4
Router(config-line)# password cisco
Router(config-line)# login
Router(config-line)# transport input telnet
Router(config-line)# exitline vty 0 4は同時に接続できる仮想端末を5本(0〜4)設定することを意味します。
Telnet接続後に特権モード(#プロンプト)に入るために必要です。enable passwordより暗号化強度の高いenable secretを使います。
Router(config)# enable secret cisco123
Router(config)# end
Router# copy running-config startup-configtransport inputコマンドの詳細解説
transport inputコマンドは、VTYライン(リモート接続用の仮想端末)においてどのプロトコルを許可するかを指定します。設定を忘れると機器によってはすべてのリモートアクセスが拒否されることがあるため、必ず設定する習慣をつけてください。
| コマンド | 意味 | 推奨度 |
|---|---|---|
| transport input telnet | Telnet接続のみ許可 | 学習環境のみ |
| transport input ssh | SSH接続のみ許可(Telnetは拒否) | 本番推奨 |
| transport input telnet ssh | Telnet・SSH両方を許可(明示的に指定) | 移行期に使用 |
| transport input all | すべてのプロトコルを許可 | 非推奨 |
| transport input none | すべてのリモートアクセスを拒否 | セキュリティ強化時 |
transport input allは意図しないプロトコルも許可してしまう可能性があります。許可するプロトコルをtransport input telnet sshのように明示的に列挙するほうが設定の意図が明確で安全です。loginとlogin localの違い
VTYラインの認証方式は設定によって異なります。loginとlogin localは混同しやすいポイントです。
line vty 0 4
password cisco
login- VTYラインに設定したパスワードのみで認証
- ユーザ名は要求されない
- 誰がログインしたかの追跡が困難
username admin secret cisco123
line vty 0 4
login local- ユーザ名+パスワードで認証
- 誰がログインしたかをログで追跡可能
- 権限レベル(privilege)の設定も可能
login localにすると誰がいつログインしたかがログに記録されるため、セキュリティ監査への対応が容易になります。複数人で機器を管理する環境では、ユーザごとにアカウントを作成してlogin localを使うことを強く推奨します。接続確認手順
設定が完了したらPCからTelnetで接続を確認します。
Windowsコマンドプロンプトから接続する場合
C:\> telnet 192.168.10.1接続成功時の画面の流れ
Trying 192.168.10.1...
Connected to 192.168.10.1.
User Access Verification
Password: **** ← VTYパスワードを入力
Router> ← ユーザモードに入る
Router> enable
Password: **** ← enableパスワードを入力
Router# ← 特権モードに入る設定の確認コマンド
! VTYライン設定の確認
Router# show running-config | section vty
line vty 0 4
password 7 xxxxxxxx
login
transport input telnet
! インターフェースの状態確認
Router# show interfaces GigabitEthernet0/0
! 現在の接続セッション確認
Router# show users
Line User Host(s) Idle
* 2 vty 0 192.168.10.50 00:00:00Telnet接続がうまくいかない時の確認ポイント
| 症状 | 原因 | 確認・対処 |
|---|---|---|
| 接続自体がタイムアウトする | IPアドレス未設定またはIF Down | show interfaces でUP/UPを確認 pingで疎通確認 |
| 「Password required, but none set」と表示される | VTYパスワードが未設定 | line vty 0 4でpasswordを設定してloginを追加 |
| 接続拒否される(Connection refused) | transport inputでTelnetが拒否されている | show running-config | section vty transport input telnetを追加 |
| パスワードは通るが「%No password set」 | enableパスワードが未設定 | enable secretを設定する |
| ACLやFWに弾かれる | TCP 23番ポートがブロックされている | ACLの設定を確認。access-class設定がある場合はVTYラインを確認 |
セキュリティ面での注意点とSSHへの移行
Telnetは通信内容が平文で送信されます。ネットワーク上のパケットキャプチャツールで、パスワードを含むすべての操作内容が見えてしまいます。本番環境では必ずSSHに移行してください。
| 比較項目 | Telnet | SSH |
|---|---|---|
| 使用ポート | TCP 23番 | TCP 22番 |
| 暗号化 | なし(平文) | あり(TLS/暗号化) |
| 盗聴リスク | 高い | 低い |
| 本番環境での使用 | 非推奨 | 推奨 |
| 設定の複雑さ | 簡単 | RSA鍵生成・ドメイン名設定が追加で必要 |
SSHに移行する場合の追加設定
! ホスト名とドメイン名を設定(RSA鍵生成に必要)
Router(config)# hostname Router01
Router01(config)# ip domain-name example.local
! RSA鍵を生成(2048ビット推奨)
Router01(config)# crypto key generate rsa modulus 2048
! SSHバージョン2を指定
Router01(config)# ip ssh version 2
! ローカルユーザを作成
Router01(config)# username admin privilege 15 secret SecurePass
! VTYラインをSSHのみに変更
Router01(config)# line vty 0 4
Router01(config-line)# login local
Router01(config-line)# transport input ssh ← Telnetを無効化
Router01(config-line)# end
Router01# write memoryまとめ
CiscoルータへのTelnet接続には、インターフェースのIP設定・VTYラインの設定・enableパスワードの3点がセットで必要です。
transport input telnetでVTYラインにTelnetを許可するloginはVTYパスワード認証、login localはユーザ名+パスワード認証transport input allよりtransport input telnet sshのように明示的に指定する方が安全- Telnetは平文通信のため、本番環境ではSSHへ移行する(
transport input ssh) - 接続できない場合はIP疎通・VTYパスワード・transport input・ACLの4点を順番に確認する
GNS3やPacket Tracerで動作確認を重ねることで、VTYラインの設定に自信がつきます。学習環境で手順を体で覚えておきましょう。



