Line VTYとは?
Ciscoデバイス(ルータやスイッチ)にリモート接続を許可するための仮想的なインターフェースです。VTY(Virtual Teletype)はSSHやTelnetを使ってリモート管理する際に必要不可欠な機能です。
- リモート接続の窓口: VTYは物理的なポートではなく、仮想的な端末ラインとして動作します。
- セキュリティの要: 適切な設定を行わないと不正アクセスを許す可能性があるため、必ずセキュリティ設定が必要です。
- 複数の接続をサポート: デフォルトで5つのライン(VTY 0~4)が有効です。
Line VTYの必要性
必要性については、以下の点が挙げられます。
- リモート管理が可能: 現場に行かずとも、SSH/Telnetを通じてデバイスを設定・管理できます。
- セキュリティ管理: パスワードやユーザ認証、アクセス制限(ACL)を設定して不正アクセスを防ぎます。
- ネットワークの監視: 障害発生時に迅速にデバイスにアクセス可能。
現状の確認や設定の追加と削除を行う際、自分のPCやメンテ用PCから接続することがほとんどと思いますので、リモート接続するためにVTYの設定は必須ですね。
Line VTYの設定手順
VTYの設定は難しくありませんが、セキュリティを高めるためにもTELNETよりSSHのみ接続を許可するのがおすすめです。
リモート接続用パスワードの設定
次のように、リモート接続時に使用するパスワードを設定します。
PD-Router2(config)#line vty 0 4
PD-Router2(config-line)#password xxxx
PD-Router2(config-line)#login
- line vty 0 4:仮想ライン0~4を設定します。
- password:リモート接続時に使用するパスワードです。
- login:パスワード認証を有効化します。
SSHを有効化
セキュリティを向上させるために、SSH接続のみを許可するようアクセスを制限します。
ドメイン名とRSA鍵を設定
まずは、ドメイン名とRSA鍵を設定します。基本的なコマンドは、以下の通りです。
## 基本的な構文 ##
#conf t
(config)# hostname MyRouter
(config)# ip domain-name example.com
(config)# crypto key generate rsa
実際に試すと、こんな感じです。
PD-Router2(config)#ip domain-name xxxx.jp
PD-Router2(config)#crypto key generate rsa
How many bits in the modulus [512]:
*Nov 9 09:05:44.959: %SSH-5-DISABLED: SSH 1.99 has been disabled2048
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 1 seconds)
PD-Router2(config)#
Line VTYにSSHのみを許可
SSHのみを許可する設定は、以下になります。
#conf t
(config)# line vty 0 4
(config-line)# transport input ssh
(config-line)# login local
- transport input ssh:SSH接続のみを許可します。
- login local: リモート接続時にローカルユーザ認証を使用します。
ローカルユーザを作成:ユーザごとの認証設定
ローカルユーザデータベースを利用して、ユーザごとに異なる認証を行います。
ユーザを作成するコマンドは、以下になります。
#conf t
(config)# username testuser1 privilege 15 secret mypassword
- username:ローカルユーザを作成します。
タイムアウトを設定
Cisco機器のVTY(Virtual Teletype)ラインでのタイムアウト設定は、リモート接続(SSH/Telnet)でのセキュリティと利便性を保つために重要です。
タイムアウト設定により、一定時間操作が行われなかった場合に自動的にセッションを切断することで、セキュリティリスクを軽減できます。
基本的な構文
## 基本的な構文 ##
(config)# exec-timeout <minutes> <seconds>
minutes: タイムアウトまでの分単位。
seconds: タイムアウトまでの秒単位。
デフォルトでは、タイムアウトは10分(exec-timeout 10 0)に設定されています。
無期限(タイムアウトなし)に設定する場合
タイムアウトなしに設定するには、以下を指定します
Router(config)# line vty 0 4
Router(config-line)# exec-timeout 0 0
今回は、30分でタイムアウトするように設定します。
Router(config)# line vty 0 4
Router(config-line)# exec-timeout 30 0
アクセス制御リスト(ACL)で接続元を制限
特定のIPアドレスやネットワークからの接続のみを許可します。以下の例では、192.168.100.0/24からのアクセスを許可するアクセスリストを作成し、インターフェースのin方向に適用しています。
#conf t
(config)# access-list 10 permit 192.168.100.0 0.0.0.255
(config)# line vty 0 4
(config-line)# access-class 10 in
- access-list:ACL番号を指定して、特定のサブネットやIPアドレスだけを許可します。
- access-class:VTYラインにACLを適用します。
Line VTYの設定例
以下は、セキュリティを強化したリモート接続の具体例です。
#conf t
(config)# hostname PD-Router2
(config)# ip domain-name xxxx.jp
(config)# crypto key generate rsa
(config)# username testuser1 privilege 15 secret mypassword
(config)# line vty 0 4
(config-line)# transport input ssh
(config-line)# login local
(config-line)# exit
(config)# access-list 10 permit 192.168.100.0 0.0.0.255
(config)# line vty 0 4
(config-line)# access-class 10 in
この設定により、192.168.1.0/24サブネットのホストだけがSSHを使ってリモート接続可能になります。
Line VTYの基本的な動作確認コマンド
現在の設定を確認
Line VTYの設定内容を表示します。
PD-Router2#show running-config | section line vty
実際に試すと、こんな感じです。
PD-Router2#show running-config | section line vty
line vty 0 4
exec-timeout 30 0
password mypassword
login local
transport input ssh
PD-Router2#
現在のセッションを確認
リモート接続しているユーザ一覧を表示します。
## 基本的な構文 ##
Router# show users
以下、例です。192.168.2.107(開発用PC)から接続されているのがわかりますね。
PD-Router2#show users
Line User Host(s) Idle Location
* 0 con 0 idle 00:00:00
10 vty 0 xxxx idle 00:00:04 192.168.2.107
Interface User Mode Idle Peer Address
PD-Router2#
特定のセッションを切断
切断したいVTYライン番号を指定し、切断します。
## 基本的な構文 ##
Router# clear line vty 0
- VTYライン0を切断します。
実際に試してみます。
PD-Router2#clear line vty 0
[confirm]
[OK]
PD-Router2#
[confirm]の行で入力待ちになったのでEnterキーを押下すると、Teratermでルータに接続していたウィンドウが強制的に閉じられました。
Line VTY設定時の注意点
デフォルト設定ではTelnetが許可されるので、注意が必要です。Telnetは平文認証なので、SSHに置き換えることが推奨されます。認証なしでの接続は危険ですので、passwordやlog inの設定はしましょう。
また、ACLを活用することでリモート接続元の制限が可能になり、セキュリティをさらに強化することができます。
Telnetの無効化
デフォルトではTelnetも許可されているため、必ずtransport input sshを指定してSSHのみに制限します。
強力なパスワードを使用
簡単に推測されるパスワード(例:1234)は避け、適切に管理します。
ACLの活用
特定の接続元だけを許可することで、セキュリティを強化します。
バックアップの準備
VTYラインが誤設定で接続不能になることを防ぐため、コンソール接続をバックアップとして設定しておくと安全です。
まとめ
Line VTYはリモート接続(SSH/Telnet)の設定や管理を行うためのインターフェースで、初期設定ではTelnetが有効になっています。そのため、SSHを有効化してセキュリティを強化することが重要になります。
また、パスワード認証やACLの活用でリモートアクセスを安全に管理することができますので、まだ設定していない場合は、なるべく早く設定しておきましょう。
ご参考になれば、幸いです。
コメント