概要
このドキュメントでは、Cisco IOS が稼働するルータに Telnet もしくは SSH で接続する際のポート番号を、デフォルトポート以外の番号へ変更する手順を示します。
Telnet の設定
まず、ルータで Telnet 接続に必要な設定を行います。
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#enable password cisco
Router(config)#line vty 0 4
Router(config)#password cisco
Router(config-line)#login
Telnet ポート番号の変更
次に、Telnet 接続のポート番号を変更する設定を行います。この例ではポート番号 3001 からの接続のみを許可します。
Router(config-line)#rotary 1
上記の rotary 1 コマンドによって、ポート番号 23(デフォルトポート)、3001、5001、7001、10001 からの接続が可能になります。指定できるポート番号は、以下に示す表の Base TCP Port for Rotaries の値に rotary コマンドで指定した値を加えた番号になります。
Services Provided
Base TCP Port for Rotaries
Base TCP Port for
Individual Lines
Telnet protocol | 3000 | 2000 |
Raw TCP protocol (noTelnet protocol) | 5000 | 4000 |
Telnet protocol, binary mode | 7000 | 6000 |
XRemote protocol | 10000 | 9000 |
rotary コマンドで指定できる値の範囲は rotary ? コマンドで調べることができます。以下の出力例では、1〜127 の値が指定可能です。
Router(config-line)#rotary ?
<1-127> Rotary group to add line to
次に、ACL を使用して、ポート番号 3001 からの接続を許可し、その他のポート番号からの接続を拒否します。
Router(config)#access-list 101 permit tcp any any eq 3001
Router(config)#line vty 0 4
Router(config-line)#access-class 101 in
以上の設定で、Telnet 接続が可能なポート番号は 3001 のみとなります。
最後に、ルータに Telnet で接続した際の debug ip tcp packet コマンドの出力結果を示します。
この例では、ルータ側の IP が 192.168.1.254 、クライアント側の IP が 192.168.1.4 となっています。
Router#debug ip tcp packet
!--- <出力を一部省略>
*Jan 4 14:12:27.191: tcp2: I ESTAB 192.168.1.4:51257 192.168.1.254:3001 seq 2480654055
DATA 2 ACK 134927753 PSH WIN 64168
*Jan 4 14:12:27.391: tcp2: O ESTAB 192.168.1.4:51257 192.168.1.254:3001 seq 134927753
ACK 2480654057 WIN 4085
上記の出力結果から、Telnet 接続がポート番号 3001 を使用していることが確認できます。
SSH の設定
まず、ルータで SSH に必要な設定を行います。
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#enable password cisco
Router(config)#username admin password cisco
Router(config)#line vty 0 4
Router(config-line)#login local
Router(config-line)#hostname R2
R2(config)#ip domain-name example.com
R2(config)#crypto key generate rsa
The name for the keys will be: R2.example.com
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
R2(config)#ip ssh version 2
SSH ポート番号の変更
次に、SSH 接続のポート番号を変更する設定を行います。この例ではポート番号 2222 からの接続のみを許可します。
R2(config)#ip ssh port 2222 rotary 1
R2(config)#line vty 0 4
R2(config-line)#rotary 1
上記のコマンドで、ポート番号 22(デフォルトポート)と 2222 の両方で SSH 接続が可能になります。次に、ACL を使用してポート番号 2222 からの接続を許可し、22 を含むその他のポート番号からの接続を拒否します。
R2(config)#access-list 102 permit tcp any any eq 2222
R2(config)#line vty 0 4
R2(config-line)#access-class 102 in
以上の設定で、SSH 接続が可能なポート番号は 2222 のみとなります。
最後に、ルータに SSH で接続した際の debug ip ssh コマンドの出力結果を示します。
この例では、ルータ側の IP が 192.168.1.254 、クライアント側の IP が 192.168.1.4 となっています。
R2#debug ip ssh
!--- <出力を一部省略>
*Jan 4 14:15:10.251: tcp2: I ESTAB 192.168.1.4:50773 192.168.1.254:2222 seq 125933366
DATA 52 ACK 1141986442 PSH WIN 63476
*Jan 4 14:15:10.259: SSH2 0: ssh_receive: 52 bytes received
*Jan 4 14:15:10.259: SSH2 0: input: total packet length of 32 bytes
*Jan 4 14:15:10.263: SSH2 0: partial packet length(block size)16 bytes,needed 16 bytes,
maclen 20
上記の出力結果から、SSH 接続がポート番号 2222 を使用していることが確認できます。