Software Configuration Guide for the Cisco ISR 4400 Series
Console Port, Telnet, and SSH Handling
Downloads: This chapterpdf (PDF - 581.0KB) The complete bookPDF (PDF - 3.46MB) | The complete bookePub (ePub - 413.0KB) | Feedback

Table of Contents

Console Port, Telnet, and SSH Handling

Notes and Restrictions for Console Port, Telnet, and SSH

Console Port Overview

Console Port Handling Overview

Telnet and SSH Overview

Persistent Telnet and Persistent SSH Overview

Configuring a Console Port Transport Map

Examples

Configuring Persistent Telnet

Prerequisites

Examples

Configuring Persistent SSH

Examples

Viewing Console Port, SSH, and Telnet Handling Configurations

Notes and Restrictions for Console Port, Telnet, and SSH

  • Telnet and SSH settings made in the transport map override any other Telnet or SSH settings when the transport map is applied to the management ethernet interface.
  • Only local usernames and passwords can be used to authenticate users entering a management ethernet interface. AAA authentication is not available for users accessing the router through a management ethernet interface using persistent Telnet or persistent SSH.
  • Applying a transport map to a management ethernet interface with active Telnet or SSH sessions can disconnect the active sessions. Removing a transport map from an interface, however, does not disconnect any active Telnet or SSH sessions.
  • Configuring the diagnostic and wait banners i s optional but recommended. The banners are especially useful as indicators to users of the status of their Telnet or SSH attempts.

Console Port Overview

The console port on the router is an EIA/TIA-232 asynchronous, serial connection with no flow control and an RJ-45 connector. The console port is used to access the router and is located on the front panel of the Route Processor (RP).

For information on accessing the router using the console port, see Chapter 2, “Using Cisco IOS XE Software”.

Console Port Handling Overview

If you are using the console port to access the router then you are automatically directed to the Cisco IOS command-line interface (CLI), by default.

If you are trying to access the router through the console port and send a break signal (by entering Ctrl-C or Ctrl-Shift-6 , or by entering the send break command at the Telnet prompt ) before connecting to the CLI, you are directed into a diagnostic mode if the non-RPIOS subpackages are accessible. These settings can be changed by configuring a transport map for the console port and applying that transport map to the console interface.

Telnet and SSH Overview

Telnet and Secure Shell (SSH) on the router can be configured and handled like Telnet and SSH on other Cisco platforms. For information on traditional Telnet, see the line command in the

Cisco IOS Terminal Services Command Reference guide located at
http://www.cisco.com/en/US/docs/ios/12_2/termserv/command/reference/trflosho.html#wp1029818.

For information on configuring traditional SSH, see the “Configuring Secure Shell” chapter of the
Cisco IOS Security Configuration Guide located at http://www.cisco.com/en/US/docs/ios/12_2/security/configuration/guide/scfssh.html .

On the router, persistent Telnet and persistent SSH allow network administrators to more clearly define the treatment of incoming traffic when users access the router through the management ethernet port using Telnet or SSH. Notably, persistent Telnet and persistent SSH provide more robust network access by allowing the router to be configured to be accessible through the Ethernet management port using Telnet or SSH even when the Cisco IOS process has failed.

Persistent Telnet and Persistent SSH Overview

In traditional Cisco routers, accessing the router using Telnet or SSH is not possible if the Cisco IOS software fails. When Cisco IOS fails on a traditional Cisco router, the only method of accessing the router is through the console port. Similarly, if all active Cisco IOS processes have failed on a router that is not using persistent Telnet or persistent SSH, the only method of accessing the router is through the console port.

With persistent Telnet and persistent SSH, however, users can configure a transport map that defines the treatment of incoming Telnet or SSH traffic on the management ethernet interface. Among the many configuration options, a transport map can be configured to direct all traffic to the Cisco IOS command-line interface, diagnostic mode, or to wait for a Cisco IOS vty line to become available and then direct users into diagnostic mode when the user sends a break signal while waiting for the IOS vty line to become available. If a user uses Telnet or SSH to access diagnostic mode, that Telnet or SSH connection will be usable even in scenarios when no Cisco IOS process is active. Therefore, persistent Telnet and persistent SSH introduce the ability to access the router via diagnostic mode when the Cisco IOS process is not active. For information on diagnostic mode, see
Using Cisco IOS XE Software. For information on the options that are can be configured using persistent Telnet or persistent SSH transport maps, see the “Configuring Persistent Telnet” section and the “Configuring Persistent SSH” section.

Configuring a Console Port Transport Map

This task describes how to configure a transport map for a console port interface on the router.

SUMMARY STEPS

1. enable

2. configure terminal

3. transport-map type console transport-map-name

4. connection wait [ allow [ interruptible ] | none [disconnect ]]

5. (Optional) banner [ diagnostic | wait ] banner-message

6. exit

7. transport type console console-line-number input transport-map-name

DETAILED STEPS

 

Command or Action
Purpose

Step 1

enable

 

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

 

Router# configure terminal

Enters global configuration mode.

Step 3

transport-map type console transport-map-name

 

Router(config)# transport-map type console consolehandler

Creates and names a transport map for handling console connections, and enter transport map configuration mode.

Step 4

connection wait [ allow [ interruptible ] | none [disconnect ]]

 

Router(config-tmap)# connection wait none

 

Specifies how a console connection will be handled using this transport map.

  • allow interruptible —The console connection waits for a Cisco IOS vty line to become available, and also allows users to enter diagnostic mode by interrupting a console connection that is waiting for the Cisco IOS vty line to become available. This is the default setting.

Note Users can interrupt a waiting connection by entering Ctrl-C or Ctrl-Shift-6.


  • none —The console connection immediately enters diagnostic mode.

Step 5

banner [diagnostic | wait] banner-message

 

Router(config-tmap)# banner diagnostic X

Enter TEXT message. End with the character 'X'.

--Welcome to Diagnostic Mode--

X

Router(config-tmap)#

 

(Optional) Creates a banner message that will be seen by users entering diagnostic mode or waiting for the Cisco IOS vty line as a result of the console transport map configuration.

  • diagnostic —Creates a banner message seen by users directed into diagnostic mode as a result of the console transport map configuration.
  • wait —Creates a banner message seen by users waiting for the Cisco IOS vty to become available.
  • banner-message —The banner message, which begins and ends with the same delimiting character.

Step 6

exit

 

Router(config-tmap)# exit

Exits transport map configuration mode to re-enter global configuration mode.

Step 7

transport type console console-line-number input transport-map-name

 

 

Router(config)# transport type console 0 input consolehandler

Applies the settings defined in the transport map to the console interface.

The transport-map-name for this command must match the transport-map-name defined in the transport-map type console comm and.

Examples

In the following example, a transport map to set console port access policies is created and attached to console port 0:

Router(config)# transport-map type console consolehandler
Router(config-tmap)# connection wait allow interruptible
Router(config-tmap)# banner diagnostic X
Enter TEXT message. End with the character 'X'.
Welcome to diagnostic mode
X
Router(config-tmap)# banner wait X
Enter TEXT message. End with the character 'X'.
Waiting for IOS vty line
X
Router(config-tmap)# exit
Router(config)# transport type console 0 input consolehandler
 

Configuring Persistent Telnet

Prerequisites

For a persistent Telnet connection to access an Cisco IOS vty line on the router, local login authentication must be configured for the vty line (the login command in line configuration mode). If local login authentication is not configured, users will not be able to access Cisco IOS using a Telnet connection into the management ethernet interface with an applied transport map. Diagnostic mode will still be accessible in this scenario.

SUMMARY STEPS

1. enable

2. configure terminal

3. transport-map type persistent telnet transport-map-name

4. connection wait [ allow [ interruptible] | none [ disconnect ]]

5. (Optional) banner [ diagnostic | wait ] banner-message

6. transport interface GigabitEthernet 0

7. exit

8. transport type persistent telnet input transport-map-name

DETAILED STEPS

 

Command or Action
Purpose

Step 1

enable

 

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

 

Router# configure terminal

Enters global configuration mode.

Step 3

transport-map type persistent telnet transport-map-name

 

Router(config)# transport-map type persistent telnet telnethandler

Creates and names a transport map for handling persistent Telnet connections, and enters transport map configuration mode.

Step 4

connection wait [ allow [ interruptible ]| none [ disconnect] ]

 

Router(config-tma p)# connection wait none

 

Specifies how a persistent Telnet connection will be handled using this transport map:

  • allow —The Telnet connection waits for a Cisco IOS vty line to become available, and exits the router if interrupted.
  • allow interruptible —The Telnet connection waits for the Cisco IOS vty line to become available, and also allows user to enter diagnostic mode by interrupting a Telnet connection waiting for the Cisco IOS vty line to become available. This is the default setting.

Note Users can interrupt a waiting connection by entering Ctrl-C or Ctrl-Shift-6.


  • none —The Telnet connection immediately enters diagnostic mode.
  • none disconnect —The Telnet connection does not wait for the Cisco IOS vty line and does not enter diagnostic mode, so all Telnet connections are rejected if no vty line is immediately available in the Cisco IOS software.

Step 5

banner [diagnostic | wait] banner-message

 

Router(config-tmap)# banner diagnostic X

Enter TEXT message. End with the character 'X'.

--Welcome to Diagnostic Mode--

X

Router(config-tmap)#

 

(Optional) Creates a banner message that will be seen by users entering diagnostic mode or waiting for the Cisco IOS vty line as a result of the persistent Telnet configuration.

  • diagnostic —Creates a banner message seen by users directed into diagnostic mode as a result of the persistent Telnet configuration.
  • wait —Creates a banner message seen by users waiting for the vty line to become available.
  • banner-message —The banner message, which begins and ends with the same delimiting character.

Step 6

transport interface gigabitethernet 0

 

Router(config-tmap)# transport interface gigabitethernet 0

Applies the transport map settings to the management ethernet interface (interface gigabitethernet 0).

Persistent Telnet can be applied only to the management ethernet interface on the router. This step must be taken before applying the transport map to the management ethernet interface.

Step 7

exit

 

Router(config-tmap)# exit

Exits transport map configuration mode to re-enter global configuration mode.

Step 8

transport type persistent telnet input transport-map-name

 

 

Router(config)# transport type persistent telnet input telnethandler

Applies the settings defined in the transport map to the management ethernet interface.

The transport-map-name for this command must match the transport-map-name defined in the transport-map type persistent telnet comm and.

Examples

In the following example, a transport map that will make all Telnet connections wait for a Cisco IOS XE vty line to become available before connecting to the router, while also allowing the user to interrupt the process and enter diagnostic mode, is configured and applied to the management ethernet interface (interface gigabitethernet 0).

A diagnostic and a wait banner are also configured.

The transport map is then applied to the interface when the transport type persistent telnet input command is entered to enable persistent Telnet.

Router(config)# transport-map type persistent telnet telnethandler
Router(config-tmap)# connection wait allow interruptible
Router(config-tmap)# banner diagnostic X
Enter TEXT message. End with the character 'X'.
--Welcome to Diagnostic Mode--
X
Router(config-tmap)# banner wait X
Enter TEXT message. End with the character 'X'.
--Waiting for IOS Process--
X
Router(config-tmap)# transport interface gigabitethernet 0
Router(config-tmap)# exit
Router(config)# transport type persistent telnet input telnethandler

Configuring Persistent SSH

This task describes how to configure persistent SSH on the router.

SUMMARY STEPS

1. enable

2. configure terminal

3. transport-map type persistent ssh transport-map-name

4. connection wait [ allow [ interruptible ] | none [ disconnect ]]

5. rsa keypair-name rsa-keypair-name

6. (Optional) authentication-retries number-of-retries

7. (Optional) banner [ diagnostic | wait ] banner-message

8. (Optional) time-out timeout-interval-in-seconds

9. transport interface GigabitEthernet 0

10. exit

11. transport type persistent ssh input transport-map-name

DETAILED STEPS

 

Command or Action
Purpose

Step 1

enable

 

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

 

Router# configure terminal

Enters global configuration mode.

Step 3

transport-map type persistent ssh transport-map-name

 

Router(config)# transport-map type persistent ssh sshhandler

Creates and names a transport map for handling persistent SSH connections, and enters transport map configuration mode.

Step 4

connection wait [ allow [ interruptible ]| none [ disconnect ]]

 

Router(config-tmap)# connection wait allow interruptible

 

Specifies how a persistent SSH connection will be handled using this transport map:

  • allow —The SSH connection waits for the vty line to become available, and exits the router if interrupted.
  • allow interruptible —The SSH connection waits for the vty line to become available, and also allows users to enter diagnostic mode by interrupting an SSH connection waiting for the vty line to become available. This is the default setting.

Note Users can interrupt a waiting connection by entering Ctrl-C or Ctrl-Shift-6.


  • none —The SSH connection immediately enters diagnostic mode.
  • none disconnect —The SSH connection does not wait for the vty line from Cisco IOS and does not enter diagnostic mode, so all SSH connections are rejected if no vty line is immediately available.

Step 5

rsa keypair-name rsa-keypair-name

 

Router(config-tmap)# rsa keypair-name sshkeys

Names the RSA keypair to be used for persistent SSH connections.

For persistent SSH connections, the RSA keypair name must be defined using this command in transport map configuration mode. The RSA keypair definitions defined elsewhere on the router, such as through the use of the ip ssh rsa keypair-name command, do not apply to persistent SSH connections.

No rsa-keypair-name is defined by default.

Step 6

authentication-retries number-of-retries

 

Router(config-tmap)# authentication-retries 4

(Optional) Specifies the number of authentication retries before dropping the connection.

The default number-of-retries is 3.

Step 7

banner [diagnostic | wait] banner-message

 

Router(config-tmap)# banner diagnostic X

Enter TEXT message. End with the character 'X'.

--Welcome to Diagnostic Mode--

X

Router(config-tmap)#

(Optional) Creates a banner message that will be seen by users entering diagnostic mode or waiting for the vty line as a result of the persistent SSH configuration.

  • diagnostic —Creates a banner message seen by users directed into diagnostic mode as a result of the persistent SSH configuration.
  • wait —Creates a banner message seen by users waiting for the vty line to become active.
  • banner-message —The banner message, which begins and ends with the same delimiting character.

Step 8

time-out timeout-interval

 

Router(config-tmap)# time-out 30

(Optional) Specifies the SSH time-out interval in seconds.

The default timeout-interval is 120 seconds.

Step 9

transport interface gigabitethernet 0

 

Router(config-tmap)# transport interface gigabitethernet 0

Applies the transport map settings to the management ethernet interface (interface gigabitethernet 0).

Persistent SSH can be applied only to the management ethernet interface on the router.

Step 10

exit

 

Router(config-tmap)# exit

Exits transport map configuration mode to re-enter global configuration mode.

Step 11

transport type persistent ssh input transport-map-name

 

 

Router(config)# transport type persistent ssh input sshhandler

Applies the settings defined in the transport map to the management ethernet interface.

The transport-map-name for this command must match the transport-map-name defined in the transport-map type persistent ssh command .

Examples

In the following example, a transport map that will make all SSH connections wait for the vty line to become active before connecting to the router is configured and applied to the management ethernet interface (interface gigabitethernet 0). The RSA keypair is named sshkeys.

This example only uses the commands required to configure persistent SSH.

Router(config)# transport-map type persistent ssh sshhandler
Router(config-tmap)# connection wait allow
Router(config-tmap)# rsa keypair-name sshkeys
Router(config-tmap)# transport interface gigabitethernet 0
 

In the following example, a transport map is configured that will apply the following settings to any users attempting to access the management ethernet port via SSH:

  • SSH users will wait for the vty line to become active, but will enter diagnostic mode if the attempt to access the Cisco IOS software through the vty line is interrupted.
  • The RSA keypair name is sshkeys.
  • The connection allows one authentication retry.
  • The banner “ --Welcome to Diagnostic Mode-- ” will appear if diagnostic mode is entered as a result of SSH handling through this transport map.
  • The banner “ --Waiting for vty line-- ” will appear if the connection is waiting for the vty line to become active.

The transport map is then applied to the interface when the transport type persistent ssh input command is entered to enable persistent SSH:

Router(config)# transport-map type persistent ssh sshhandler
Router(config-tmap)# connection wait allow interruptible
Router(config-tmap)# rsa keypair-name sshkeys
Router(config-tmap)# authentication-retries 1

Router(config-tmap)# banner diagnostic X

Enter TEXT message. End with the character 'X'.

--Welcome to Diagnostic Mode--

X

Router(config-tmap)# banner wait X
Enter TEXT message. End with the character 'X'.
--Waiting for vty line--
X
Router(config-tmap)# time-out 30
Router(config-tmap)# transport interface gigabitethernet 0
Router(config-tmap)# exit
Router(config)# transport type persistent ssh input sshhandler

Viewing Console Port, SSH, and Telnet Handling Configurations

Use the following two commands to view console port, SSH, and Telnet handling configurations:

  • show transport-map
  • show platform software configuration access policy

Use the show transport-map command to view transport map configurations.

show transport-map [ all | name transport-map-name | type [ console | persistent [ ssh | telnet ]]]

The command can be used in user EXEC or privileged EXEC mode.

Example

This example shows transport maps that are configured on the router: a console port ( consolehandler ), persistent SSH ( sshhandler ), and persistent Telnet transport ( telnethandler ).

Router# show transport-map all
Transport Map:
Name: consolehandler
Type: Console Transport
 
Connection:
Wait option: Wait Allow Interruptable
Wait banner:
 
Waiting for the IOS CLI
 
bshell banner:
 
Welcome to Diagnostic Mode
 
 
Transport Map:
Name: sshhandler
Type: Persistent SSH Transport
 
Interface:
GigabitEthernet0
 
Connection:
Wait option: Wait Allow Interruptable
Wait banner:
 
Waiting for IOS prompt
 
Bshell banner:
Welcome to Diagnostic Mode
 
 
SSH:
Timeout: 120
Authentication retries: 5
RSA keypair: sshkeys
 
Transport Map:
Name: telnethandler
Type: Persistent Telnet Transport
 
Interface:
GigabitEthernet0
 
Connection:
Wait option: Wait Allow Interruptable
Wait banner:
 
Waiting for IOS process
 
Bshell banner:
 
Welcome to Diagnostic Mode
 
 
Transport Map:
Name: telnethandling1
Type: Persistent Telnet Transport
 
Connection:
Wait option: Wait Allow
 
 
Router# show transport-map type console
Transport Map:
Name: consolehandler
Type: Console Transport
 
Connection:
Wait option: Wait Allow Interruptable
Wait banner:
 
Waiting for the IOS CLI
 
Bshell banner:
 
Welcome to Diagnostic Mode
 
 
Router# show transport-map type persistent ssh
Transport Map:
Name: sshhandler
Type: Persistent SSH Transport
 
Interface:
GigabitEthernet0
 
Connection:
Wait option: Wait Allow Interruptable
Wait banner:
 
Waiting for IOS prompt
 
Bshell banner:
 
Welcome to Diagnostic Mode
 
 
SSH:
Timeout: 120
Authentication retries: 5
RSA keypair: sshkeys
 
Router# show transport-map type persistent telnet
Transport Map:
Name: telnethandler
Type: Persistent Telnet Transport
 
Interface:
GigabitEthernet0
 
Connection:
Wait option: Wait Allow Interruptable
Wait banner:
 
Waiting for IOS process
 
Bshell banner:
 
Welcome to Diagnostic Mode
 
 
Transport Map:
Name: telnethandling1
Type: Persistent Telnet Transport
 
Connection:
Wait option: Wait Allow
 
 
Router# show transport-map name telnethandler
Transport Map:
Name: telnethandler
Type: Persistent Telnet Transport
 
Interface:
GigabitEthernet0
 
Connection:
Wait option: Wait Allow Interruptable
Wait banner:
 
Waiting for IOS process
 
Bshell banner:
 
Welcome to Diagnostic Mode
 
 
Router# show transport-map name consolehandler
Transport Map:
Name: consolehandler
Type: Console Transport
 
Connection:
Wait option: Wait Allow Interruptable
Wait banner:
 
Waiting for the IOS CLI
 
Bshell banner:
 
Welcome to Diagnostic Mode
 
 
Router# show transport-map name sshhandler
Transport Map:
Name: sshhandler
Type: Persistent SSH Transport
 
Interface:
GigabitEthernet0
 
Connection:
Wait option: Wait Allow Interruptable
Wait banner:
 
Waiting for IOS prompt
 
Bshell banner:
 
Welcome to Diagnostic Mode
 
 
SSH:
Timeout: 120
Authentication retries: 5
RSA keypair: sshkeys
 
Router#
 

You can use the show platform software configuration access policy command to view the current configurations for the handling of incoming console port, SSH, and Telnet connections. The output of this command provides the current wait policy for each type of connection (telnet, ssh and console), as well as any information on the currently configured banners.

Unlike show transport-map , this command is available in diagnostic mode so it can be entered in cases when you need transport map configuration information but cannot access the Cisco IOS CLI.

Example

Router# show platform software configuration access policy
The current access-policies
 
Method : telnet
Rule : wait
Shell banner:
Wait banner :
 
Method : ssh
Rule : wait
Shell banner:
Wait banner :
 
Method : console
Rule : wait with interrupt
Shell banner:
Wait banner :
 

Example

In this example, the show platform software configuration access policy command is issued both before and after a new transport map for SSH is configured. During the configuration, the connection policy and banners are set for a persistent SSH transport map, and the transport map for SSH is enabled.

Router# show platform software configuration access policy
The current access-policies
 
Method : telnet
Rule : wait with interrupt
Shell banner:
Welcome to Diagnostic Mode
 
Wait banner :
Waiting for IOS Process
 
 
Method : ssh
Rule : wait
Shell banner:
Wait banner :
 
Method : console
Rule : wait with interrupt
Shell banner:
Wait banner :
 
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# transport-map type persistent ssh sshhandler
Router(config-tmap)# connection wait allow interruptible
Router(config-tmap)# banner diagnostic X
Enter TEXT message. End with the character 'X'.
Welcome to Diag Mode
X
Router(config-tmap)# banner wait X
Enter TEXT message. End with the character 'X'.
Waiting for IOS
X
Router(config-tmap)# rsa keypair-name sshkeys
Router(config-tmap)# transport interface gigabitethernet 0
Router(config-tmap)# exit
Router(config)# transport type persistent ssh input sshhandler
Router(config)# exit
 
Router# show platform software configuration access policy
The current access-policies
 
Method : telnet
Rule : wait with interrupt
Shell banner:
Welcome to Diagnostic Mode
 
Wait banner :
Waiting for IOS process
 
 
Method : ssh
Rule : wait with interrupt
Shell banner:
Welcome to Diag Mode
 
Wait banner :
Waiting for IOS
 
 
Method : console
Rule : wait with interrupt
Shell banner:
Wait banner :