Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

Diagrama de red SSH v2

Prueba de Autenticación

Prueba de Autenticación Sin SSH

Prueba de Autenticación Con SSH

Conjuntos de configuración opcionales

Prevención de Conexiones No SSH

Configuración de un Switch o un Router del IOS Como Cliente de SSH

Configuración de un Router IOS como un Servidor SSH que Realiza la Autenticación de Usuario Basada en RSA

Adición de Acceso de Línea de Terminal de SSH

Restricción del Acceso de SSH a una Subred

Configuración de SSH Versión 2

Variaciones en el Resultado del Comando de Banner

Opciones de comando de banner

TELNET

SSH v2

No se puede mostrar LoginBanner

Comandos debug y show

Ejemplo de resultado del comando debug

Depuración de Router

Debug de Servidor

Configuraciones incorrectas

SSH desde un cliente de SSH no compilado con el estándar de cifrado de datos (DES)

Contraseña Incorrecta

Depuración de Router

El Cliente de SSH Envía Encripción No Soportada (Blowfish)

Depuración de Router

Error al obtener "%SSH-3-PRIVATEKEY: No se puede recuperar la clave privada RSA para"

Consejos

Información Relacionada

Introducción

En este documento se describe la configuración y depuración de shell seguro (SSH) en los routers o switches de Cisco que ejecutan el software Cisco IOS®.

Prerequisites

Requirements

La imagen del Cisco IOS utilizada debe ser una imagen k9 (crypto) para que pueda soportar SSH. Por ejemplo, c3750e-universalk9-tar.122-35.SE5.tar es una imagen k9 (crypto).

Componentes Utilizados

La información de este documento se basa en el Cisco IOS 3600 Software (C3640-IK9S-M), versión 12.2(2)T1.

SSH se introdujo en las siguientes imágenes y plataformas del Cisco IOS:

- El acceso de línea terminal SSH (también conocido como Telnet inverso) se introdujo en las plataformas e imágenes de Cisco IOS a partir de la versión 12.2.2.T del software Cisco IOS.

- La compatibilidad con SSH versión 2.0 (SSH v2) se introdujo en las plataformas e imágenes de Cisco IOS a partir de la versión 12.1(19)E del software de Cisco IOS.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Convenciones

Consulte Convenciones de Consejos Técnicos de Cisco para obtener más información.

Diagrama de red SSH v2

Prueba de Autenticación

Prueba de Autenticación Sin SSH

Primero, pruebe la autenticación sin SSH para asegurarse de que la autenticación trabaje con el router Carter antes de que se agregue SSH. La autenticación puede ser con un nombre de usuario y contraseña local o con un servidor de autenticación, autorización y contabilización (AAA) que ejecute TACACS+ o RADIUS. (La autenticación a través de la contraseña de línea no es posible con SSH.) Este ejemplo muestra la autenticación local, que le permite conectarse a Telnet en el router con el nombre de usuario cisco y la contraseña cisco.

Nota: En este documento, vty se utiliza para indicar el tipo de terminal virtual.

!--- The aaa new-model command causes the local username and password on the router to be used in the absence of other AAA statements.

aaa new-model

username cisco password 0 cisco

line vty 0 4

transport input telnet

!--- Instead of aaa new-model, you can use the login local command.

Prueba de Autenticación Con SSH

Para probar la autenticación con SSH, debe agregar a las sentencias anteriores para habilitar SSH en Carter y probar SSH desde las estaciones de PC y UNIX.

ip domain-name rtp.cisco.com

!--- Generate an SSH key to be used with SSH.

crypto key generate rsa

ip ssh time-out 60

ip ssh authentication-retries 2

En este punto, el comando show crypto key mypubkey rsa debe mostrar la llave generada. Una vez agregada la configuración de SSH, pruebe su capacidad para acceder al router desde las estaciones UNIX y las PC.

Conjuntos de configuración opcionales

Prevención de Conexiones No SSH

Si usted desea prevenir conexiones no SSH, agregue el comando transport input ssh en las líneas para limitar el router a conexiones SSH solamente. Se rechaza Telnet recto (no SSH).

line vty 0 4

!--- Prevent non-SSH Telnets.

transport input ssh

Pruebe para asegurarse de que los usuarios que no son SSH no puedan comunicarse vía Telnet con el router Carter.

Configuración de un Switch o un Router del IOS Como Cliente de SSH

Hay cuatro pasos obligatorios para habilitar el soporte de SSH en un router del Cisco IOS:

1. Configure el comando hostname.

2. Configure el dominio DNS.

3. Genere la clave SSH.

4. Habilite el soporte de transporte SSH para el vty.

Si desea que un dispositivo actúe como cliente de SSH al otro, puede agregar SSH a un segundo dispositivo llamado Reed. Esto coloca a estos dispositivos en un arreglo cliente-servidor, donde Carter actúa como el servidor, y Reed actúa como el cliente. La configuración de cliente de SSH del Cisco IOS en Reed es la misma que la requerida para la configuración de servidor de SSH en Carter.

!--- Step 1: Configure the hostname if you have not previously done so.

hostname carter

!--- The aaa new-model command causes the local username and password on the router to be used in the absence of other AAA statements.

aaa new-model

username cisco password 0 cisco

!--- Step 2: Configure the DNS domain of the router.

ip domain-name rtp.cisco.com

!--- Step 3: Generate an SSH key to be used with SSH.

crypto key generate rsa

ip ssh time-out 60

ip ssh authentication-retries 2

!--- Step 4: By default the vty transport is Telnet. In this case, Telnet is disabled and only SSH is supported.

line vty 0 4

transport input ssh

!--- Instead of aaa new-model, you can use the login local command.

Ejecute este comando para SSH desde el cliente SSH de Cisco IOS (Reed) al servidor SSH de Cisco IOS (Carter) para probar esto:

ssh -v 2 -c aes256-cbc -m hmac-sha1-160 -l cisco 10.31.1.99

Configuración de un Router IOS como un Servidor SSH que Realiza la Autenticación de Usuario Basada en RSA

Complete estos pasos para configurar el servidor SSH para realizar la autenticación basada en RSA.

1. Especifique el nombre de host.

Router(config)#hostname

2. Defina un nombre de dominio por defecto.

Router(config)#ip domain-name

3. Generar pares de claves RSA.

Router(config)#crypto key generate rsa

4. Configure las claves SSH-RSA para la autenticación de usuarios y servidores.

Router(config)#ip ssh pubkey-chain

5. Configure el nombre de usuario de SSH.

Router(conf-ssh-pubkey)#username

6. Especifique la clave pública RSA del par remoto.

Router(conf-ssh-pubkey-user)#key-string

7. Especifique la versión y el tipo de clave SSH. (Este paso es opcional).

Router(conf-ssh-pubkey-data)#key-hash ssh-rsa

8. Salga del modo actual y vuelva al modo EXEC privilegiado.

Router(conf-ssh-pubkey-data)#end

Adición de Acceso de Línea de Terminal de SSH

Si necesita autenticación de línea de terminal de SSH saliente, puede configurar y probar SSH para Telnet inverso saliente a través de Carter, que actúa como un servidor de comunicaciones a Philly.

ip ssh port 2001 rotary 1

line 1 16

no exec

rotary 1

transport input ssh

exec-timeout 0 0

modem InOut

stopbits 1

Si Philly está conectado al puerto Carter 2, puede configurar SSH a Philly a través de Carter desde Reed con este comando:

ssh -v 2 -c aes256-cbc -m hmac-shal-160 -p 2002 10.31.1.99

Puede utilizar este comando de Solaris:

ssh -c 3des -p 2002 -x -v 10.13.1.99

Restricción del Acceso de SSH a una Subred

Debe limitar la conectividad SSH a una subred específica en la que se descartan todos los demás intentos de SSH desde IP fuera de la subred.

Puede seguir estos pasos para hacer lo mismo:

1. Defina una lista de acceso que permita el tráfico de esa subred específica.

2. Restrinja el acceso a la interfaz de línea VTY con access-class.

Este es un ejemplo de configuración. En este ejemplo, sólo se permite el acceso SSH a la subred 10.10.10.0 255.255.255.0, mientras que a cualquier otra se le deniega el acceso.

Router(config)#access-list 23 permit 10.10.10.0 0.0.0.255

Router(config)#line vty 5 15

Router(config-line)#transport input ssh

Router(config-line)#access-class 23 in

Router(config-line)#exit

Nota: El mismo procedimiento para bloquear el acceso SSH también se utiliza para las plataformas de switch.

Configuración de SSH Versión 2

carter(config)#ip ssh version 2

Variaciones en el Resultado del Comando de Banner

El resultado del comando banner varía entre Telnet y las diversas versiones de las conexiones de SSH. En esta tabla, se ilustra cómo funcionan las diferentes opciones del comando banner con varios tipos de conexiones.

Opciones de comando de banner

TELNET

SSH v2

registro de banners

Se muestra antes de conectarse al dispositivo.

Se muestra antes de conectarse al dispositivo.

banner motd

Se muestra antes de conectarse al dispositivo.

Se muestra después de iniciar sesión en el dispositivo.

banner exec

Se muestra después de iniciar sesión en el dispositivo.

Se muestra después de iniciar sesión en el dispositivo.

Nota: SSH versión 1 ya no se recomienda.

Incapacidad para Mostrar el Banner de Inicio de Sesión

La versión 2 de SSH admite el banner de inicio de sesión. Cuando inicia la sesión SSH con el router de Cisco, se muestra el banner de inicio de sesión si el cliente SSH envía el nombre de usuario. Por ejemplo, cuando se utiliza el cliente ssh de Secure Shell, se muestra el banner de inicio de sesión. Cuando se utiliza el cliente SSH PuTTY, no se muestra el banner de inicio de sesión. Esto se debe a que SSH envía el nombre de usuario por defecto y PuTTY no envía el nombre de usuario por defecto.

El cliente SSH necesita el nombre de usuario para iniciar la conexión con el dispositivo habilitado para SSH. El botón Connect no se habilita si usted no ingresa el nombre de host y el nombre de usuario. Esta imagen de pantalla muestra que el banner de inicio de sesión se muestra cuando SSH se conecta al router. A continuación, el banner solicita una contraseña.

Mensajes de banner para una contraseña

El cliente de PuTTY no requiere el nombre de usuario para iniciar la conexión de SSH al router. Esta imagen de pantalla muestra que el cliente PuTTY se conecta al router y solicita el nombre de usuario y la contraseña. No muestra el banner de inicio de sesión.

Conexión SSH al router

Esta captura de pantalla muestra que el banner de inicio de sesión se muestra cuando PuTTY está configurado para enviar el nombre de usuario al router.

Enviar nombre de usuario al router

Comandos debug y show

Antes de ejecutar los comandos debug descritos aquí, consulte Información Importante sobre Comandos Debug. Algunos comandos show son compatibles con la herramienta Output Interpreter Tool (registrada sólo para clientes), que le permite ver un análisis del resultado del comando show.

- debug ip ssh Muestra mensajes de depuración para SSH.

- show ssh Muestra el estado de las conexiones del servidor SSH.

carter#show ssh

Connection    Version Encryption    State              Username

0            2.0     DES           Session started    cisco

- show ip ssh muestra la versión y los datos de configuración para SSH.

carter#show ip ssh

SSH Enabled - version 2.0

Authentication timeout: 120 secs; Authentication retries: 3

Ejemplo de resultado del comando debug

Depuración de Router

00:23:20: SSH0: starting SSH control process

00:23:20: SSH0: sent protocol version id SSH-2.0-Cisco-1.25

00:23:20: SSH0: protocol version id is - SSH-2.0-1.2.26

00:23:20: SSH0: SSH_SMSG_PUBLIC_KEY msg

00:23:21: SSH0: SSH_CMSG_SESSION_KEY msg - length 112, type 0x03

00:23:21: SSH: RSA decrypt started

00:23:21: SSH: RSA decrypt finished

00:23:21: SSH: RSA decrypt started

00:23:21: SSH: RSA decrypt finished

00:23:21: SSH0: sending encryption confirmation

00:23:21: SSH0: keys exchanged and encryption on

00:23:21: SSH0: SSH_CMSG_USER message received

00:23:21: SSH0: authentication request for userid cisco

00:23:21: SSH0: SSH_SMSG_FAILURE message sent

00:23:23: SSH0: SSH_CMSG_AUTH_PASSWORD message received

00:23:23: SSH0: authentication successful for cisco

00:23:23: SSH0: requesting TTY

00:23:23: SSH0: setting TTY - requested: length 24, width 80; set:

length 24, width 80

00:23:23: SSH0: invalid request - 0x22

00:23:23: SSH0: SSH_CMSG_EXEC_SHELL message received

00:23:23: SSH0: starting shell for vty

Debug de Servidor

Nota: se trata de la salida del equipo Solaris.

rtp-evergreen.rtp.cisco.com#ssh -c 3des -l cisco -v 10.31.1.99

rtp-evergreen#/opt/CISssh/bin/ssh -c 3des -l cisco -v 10.13.1.99

SSH Version 1.2.26 [sparc-sun-solaris2.5.1], protocol version 1.5.

Compiled with RSAREF.

rtp-evergreen: Reading configuration data /opt/CISssh/etc/ssh_config

rtp-evergreen: ssh_connect: getuid 0 geteuid 0 anon 0

rtp-evergreen: Allocated local port 1023.

rtp-evergreen: Connecting to 10.13.1.99 port 22.

rtp-evergreen: Connection established.

rtp-evergreen: Remote protocol version 2.0,

remote software version Cisco-1.25

rtp-evergreen: Waiting for server public key.

rtp-evergreen: Received server public key (768 bits)

and host key (512 bits).

rtp-evergreen: Host '10.13.1.99' is known and matches the host key.

rtp-evergreen: Initializing random; seed file //.ssh/random_seed

rtp-evergreen: Encryption type: 3des

rtp-evergreen: Sent encrypted session key.

rtp-evergreen: Installing crc compensation attack detector.

rtp-evergreen: Received encrypted confirmation.

rtp-evergreen: Doing password authentication.

cisco@10.13.1.99's password:

rtp-evergreen: Requesting pty.

rtp-evergreen: Failed to get local xauth data.

rtp-evergreen: Requesting X11 forwarding with authentication spoofing.

Warning: Remote host denied X11 forwarding, perhaps xauth program

could not be run on the server side.

rtp-evergreen: Requesting shell.

rtp-evergreen: Entering interactive session.

Configuraciones incorrectas

En estas secciones, hay ejemplos de resultado de debug de varias configuraciones incorrectas.

SSH desde un cliente de SSH no compilado con el estándar de cifrado de datos (DES)

Contraseña Incorrecta

Depuración de Router

00:26:51: SSH0: starting SSH control process

00:26:51: SSH0: sent protocol version id SSH-2.0-Cisco-1.25

00:26:52: SSH0: protocol version id is - SSH-2.0-1.2.26

00:26:52: SSH0: SSH_SMSG_PUBLIC_KEY msg

00:26:52: SSH0: SSH_CMSG_SESSION_KEY msg - length 112, type 0x03

00:26:52: SSH: RSA decrypt started

00:26:52: SSH: RSA decrypt finished

00:26:52: SSH: RSA decrypt started

00:26:52: SSH: RSA decrypt finished

00:26:52: SSH0: sending encryption confirmation

00:26:52: SSH0: keys exchanged and encryption on

00:26:52: SSH0: SSH_CMSG_USER message received

00:26:52: SSH0: authentication request for userid cisco

00:26:52: SSH0: SSH_SMSG_FAILURE message sent

00:26:54: SSH0: SSH_CMSG_AUTH_PASSWORD message received

00:26:54: SSH0: password authentication failed for cisco

00:26:54: SSH0: SSH_SMSG_FAILURE message sent

00:26:54: SSH0: authentication failed for cisco (code=7)

00:26:54: SSH0: Session disconnected - error 0x07

El Cliente de SSH Envía Encripción No Soportada (Blowfish)

Depuración de Router

00:39:26: SSH0: starting SSH control process

00:39:26: SSH0: sent protocol version id SSH-2.0-Cisco-1.25

00:39:26: SSH0: protocol version id is - SSH-2.0-W1.0

00:39:26: SSH0: SSH_SMSG_PUBLIC_KEY msg

00:39:26: SSH0: SSH_CMSG_SESSION_KEY msg - length 112, type 0x03

00:39:26: SSH0: Session disconnected - error 0x20

Error al obtener "%SSH-3-PRIVATEKEY: No se puede recuperar la clave privada RSA para"

Un cambio en el nombre de dominio o de host puede desencadenar este mensaje de error. Utilice estas soluciones alternativas:

- Ponga en cero las llaves RSA y vuelva a generar las llaves.

crypto key zeroize rsa label key_name

crypto key generate rsa label key_name modulus key_size

- Si la solución temporal anterior no funciona, intente estos pasos:

1. Ponga en cero todas las llaves RSA.

2. Recargue el dispositivo.

3. Cree llaves nuevas etiquetadas para SSH.

Consejos

- Si los comandos de configuración de SSH se rechazan como comandos ilegales, usted no ha generado correctamente un par de llaves RSA para el router. Asegúrese de que ha especificado un nombre de host y un dominio. A continuación, utilice el comando crypto key generate rsa para generar pares de claves RSA y habilitar el servidor SSH.

- Al configurar los pares de claves RSA, puede obtener estos mensajes de error:

1. No se especificó nombre de host.

Debe utilizar el comando de configuración global hostname para configurar un nombre de host para el router.

2. No se especificó dominio.

Debe utilizar el comando de configuración global ip domain-name para configurar un dominio de host para el router.

- El número de conexiones SSH permitidas está limitado al número máximo de vty configurado para el router. Cada conexión SSH utiliza un vty recurso.

- SSH utiliza seguridad local o el protocolo de seguridad configurado a través de AAA en su router para la autenticación de usuario. Al configurar AAA, debe asegurarse de que la consola no se ejecute bajo AAA. Aplique una palabra clave en el modo de configuración global para inhabilitar AAA en la consola.

- No SSH server connections running:

carter#show ssh

%No SSHv2 server connections running.

Este resultado sugiere que el servidor de SSH está inhabilitado o que no está habilitado correctamente. Si usted ya ha configurado SSH, se recomienda reconfigurar el servidor de SSH en el dispositivo. Complete estos pasos para reconfigurar el servidor SSH en el dispositivo.

1. Elimine los pares de claves RSA. Después de eliminar los pares de claves RSA, el servidor SSH se inhabilita automáticamente.

carter(config)#crypto key zeroize rsa

Nota: Es importante generar pares de claves con un tamaño mínimo de 768 bits cuando se habilita SSH v2.

Precaución: este comando no se puede deshacer después de guardar la configuración. Además, después de eliminar las claves RSA, no puede utilizar certificados o la CA ni participar en intercambios de certificados con otros pares de seguridad IP (IPSec) a menos que regenere las claves RSA para volver a configurar la interoperabilidad de la CA, obtener el certificado de la CA y solicitar su propio certificado de nuevo.

2. Vuelva a configurar el nombre de host y el nombre de dominio del dispositivo.

carter(config)#hostname hostname

carter(config)#ip domain-name domainname

3. Genere pares de claves RSA para el router. Esto activa automáticamente SSH.

carter(config)#crypto key generate rsa

Nota: Consulte crypto key generate rsa - Referencia de Comandos de Seguridad de Cisco IOS, Versión 12.3 para obtener más información sobre el uso de este comando.

Nota: Puede recibir el mensaje de error SSH2 0: Unexpected message type received debido a un paquete recibido que no es comprensible por el router. Aumente la longitud de la llave cuando genere llaves RSA para SSH a fin de resolver este problema.

4. Configure el servidor SSH.

5. Para habilitar y configurar un router/switch de Cisco para el servidor SSH, debe configurar los parámetros SSH. Si no configura los parámetros de SSH, se utilizarán los valores predeterminados.

ip ssh {[timeout seconds] | [authentication-retries integer]}

carter(config)# ip ssh

Información Relacionada

- Página de Soporte de Productos de SSH