How to Enable SSH on Cisco Switches, Routers

В этом документе описывается настройка и отладка Secure Shell (SSH) на маршрутизаторах или коммутаторах Cisco, работающих под управлением ПО Cisco IOS®.

Предпосылки

Требования

Используемый образ Cisco IOS должен быть образом k9 (crypto) для поддержки SSH. Например, c3750e-universalk9-tar.122-35.SE5.tar — это образ k9 (крипто).

Используемые компоненты

Информация в этом документе была получена с устройств в специальной лабораторной среде. Все устройства, используемые в этом документе, запускались с очищенной (по умолчанию) конфигурацией. Если ваша сеть работает, убедитесь, что вы понимаете потенциальное влияние любой команды.

Сведения в этом документе основаны на программном обеспечении Cisco IOS 3600 (C3640-IK9S-M), выпуск 12.2(2)T1.

SSH был представлен на следующих платформах и образах Cisco IOS:

  • Доступ по терминальной линии SSH (также известный как обратный Telnet) был представлен на платформах Cisco IOS, а образы начинаются с программного обеспечения Cisco IOS версии 12.2.2.T.
  • Поддержка SSH версии 2.0 (SSH v2) была введена на платформах Cisco IOS, а образы появились в программном обеспечении Cisco IOS версии 12.1(19)E.

Соглашения

Обратитесь к условным обозначениям технических советов Cisco для получения дополнительной информации.

Схема сети SSH v2

Схема сети SSH v2

Тестовая аутентификация

Тест аутентификации без SSH

Сначала проверьте аутентификацию без SSH, чтобы убедиться, что аутентификация работает с маршрутизатором Carter, прежде чем добавлять SSH. Аутентификация может осуществляться с использованием локального имени пользователя и пароля или с помощью сервера аутентификации, авторизации и учета (AAA), на котором работает TACACS+ или RADIUS. (Аутентификация с использованием пароля линии невозможна при использовании SSH.) В этом примере показана локальная аутентификация, которая позволяет подключиться к маршрутизатору через Telnet с именем пользователя «cisco» и паролем «cisco».

Примечание. В этом документе vty используется для обозначения «типа виртуального терминала».

 !--- Команда aaa new-model вызывает использование локального имени пользователя и пароля на маршрутизаторе в отсутствие других операторов AAA.

 ааа новая модель
 имя пользователя пароль cisco 0 cisco
 линия vty 0 4
 транспортный вход telnet

 !--- Вместо aaa new-model вы можете использовать локальную команду входа в систему.

Тест аутентификации с помощью SSH

Чтобы проверить аутентификацию с помощью SSH, вы должны добавить к предыдущим утверждениям, чтобы включить SSH на Carter и протестировать SSH с ПК и станций UNIX.

 IP доменное имя rtp.cisco.com

 !--- Сгенерируйте ключ SSH для использования с SSH.

 криптографический ключ сгенерировать rsa
 тайм-аут ip ssh 60
 ip ssh аутентификация-повторные попытки 2

На этом этапе команда show crypto key mypubkey rsa должна отображать сгенерированный ключ. После добавления конфигурации SSH проверьте возможность доступа к маршрутизатору с ПК и станции UNIX.

Дополнительные наборы конфигурации

Предотвращение соединений без SSH

Если вы хотите запретить не-SSH-подключения, добавьте команду transport input ssh под строками, чтобы ограничить маршрутизатор только SSH-подключениями. Прямые (не ssh) Telnets не принимаются.

 линия vty 0 4

 !--- Предотвратить не-SSH Telnet.

 транспортный ввод ssh

Протестируйте, чтобы убедиться, что пользователи, не использующие SSH, не могут подключиться через Telnet к маршрутизатору «Carter».

Настройте маршрутизатор или коммутатор IOS в качестве клиента SSH

Для включения поддержки SSH на маршрутизаторе Cisco IOS необходимо выполнить четыре шага:

1. Настройте команду hostname.

2. Настройте домен DNS.

3. Сгенерируйте SSH-ключ.

4. Включите поддержку транспорта SSH для vty.

Если вы хотите, чтобы одно устройство действовало как SSH-клиент для другого, вы можете добавить SSH ко второму устройству под названием «Reed». Это ставит эти устройства в схему клиент-сервер, где Картер выступает в роли сервера, а Рид — в роли клиента. Конфигурация клиента SSH Cisco IOS в Reed такая же, как требуется для конфигурации сервера SSH в Carter.

 !--- Шаг 1: Настройте имя хоста, если вы еще этого не сделали.

 имя хоста Картер

 !--- Команда aaa new-model вызывает использование локального имени пользователя и пароля на маршрутизаторе в отсутствие других операторов AAA.

 ааа новая модель
 имя пользователя пароль cisco 0 cisco

 !--- Шаг 2: Настройте DNS-домен маршрутизатора.

 IP доменное имя rtp.cisco.com

 !--- Шаг 3: Создайте ключ SSH для использования с SSH.

 криптографический ключ сгенерировать rsa
 тайм-аут ip ssh 60
 ip ssh аутентификация-повторные попытки 2
 
!--- Шаг 4: По умолчанию в качестве транспорта vty используется Telnet. В этом случае Telnet отключен и поддерживается только SSH.

 линия vty 0 4
 транспортный ввод ssh

 !--- Вместо aaa new-model вы можете использовать локальную команду входа в систему.

Введите эту команду для SSH от клиента Cisco IOS SSH (Reed) до сервера Cisco IOS SSH (Carter), чтобы проверить это:

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

Настройте маршрутизатор IOS в качестве SSH-сервера, выполняющего аутентификацию пользователей на основе RSA.

Выполните эти шаги, чтобы настроить SSH-сервер для выполнения аутентификации на основе RSA.

  1. Укажите имя хоста.

 Router(config)#hostname <имя хоста>

2. Определите доменное имя по умолчанию.

 Router(config)#ip domain-name <имя домена>

3. Создайте пары ключей RSA.

 Router(config)#crypto key generate rsa

4. Настройте ключи SSH-RSA для аутентификации пользователя и сервера.

 Router(config)#ip ssh pubkey-chain

5. Настройте имя пользователя SSH.

 Router(conf-ssh-pubkey)#username <имя пользователя>

6. Укажите открытый ключ RSA удаленного партнера.

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

7. Укажите тип и версию ключа SSH. (Этот шаг является необязательным.)

 Router(conf-ssh-pubkey-data)#key-hash ssh-rsa <идентификатор ключа>

8. Выйдите из текущего режима и вернитесь в привилегированный режим EXEC.

 Маршрутизатор (conf-ssh-pubkey-data)#end

Добавить доступ к терминальной линии SSH

Если вам нужна аутентификация исходящей SSH-терминальной линии, вы можете настроить и протестировать SSH для исходящих обратных Telnet через Carter, который действует как сервер связи с Филадельфией.

 ip ssh порт 2001 поворотный 1
 строка 1 16
 нет исполнителя
 поворотный 1
 транспортный ввод ssh
 время ожидания выполнения 0 0
 модем InOut
 стоповые биты 1

Если Philly подключен к Carter Port 2, то вы можете настроить SSH на Philly через Carter от Reed с помощью этой команды:

 ssh -v 2 -c aes256-cbc -m hmac-shal-160 -p 2002 10.31.1.99
  • Вы можете использовать эту команду из Solaris:
 ssh -c 3des -p 2002 -x -v 10.13.1.99

Ограничить SSH-доступ к подсети

Вам необходимо ограничить подключение SSH к определенной подсети, где все другие попытки SSH с IP-адресов за пределами подсети отбрасываются.

Вы можете использовать эти шаги, чтобы сделать то же самое:

  1. Определите список доступа, который разрешает трафик из этой конкретной подсети.

  2. Ограничьте доступ к интерфейсу линии VTY с помощью класса доступа .

Это пример конфигурации. В этом примере разрешен только SSH-доступ к подсети 10.10.10.0 255.255.255.0, любой другой доступ запрещен.

 Router(config)#access-list 23 разрешение 10.10.10.0 0.0.0.255
 Router(config)#line vty 5 15
 Router(config-line)#transport input ssh
 Маршрутизатор (строка конфигурации) # класс доступа 23 в
 Маршрутизатор (строка конфигурации)#exit

Примечание. Та же процедура для блокировки доступа SSH также используется для коммутационных платформ.

Настройте SSH версии 2

 carter(config)#ip ssh версия 2

Варианты вывода команды баннера

Выходные данные команды баннера различаются между Telnet и различными версиями соединений SSH. В этой таблице показано, как различные параметры команды баннера работают с различными типами соединений.

Параметры команды баннера

Телнет

SSH v2

вход по баннеру

Отображается перед входом в устройство.

Отображается перед входом в устройство.

баннер

Отображается перед входом в устройство.

Отображается после входа в устройство.

баннер

Отображается после входа в устройство.

Отображается после входа в устройство.

Примечание. Использование SSH версии 1 больше не рекомендуется.

Невозможно отобразить баннер входа

SSH версии 2 поддерживает баннер входа в систему. Когда он инициирует сеанс SSH с маршрутизатором Cisco, отображается баннер входа в систему, если клиент SSH отправляет имя пользователя. Например, когда используется ssh-клиент Secure Shell, отображается баннер входа в систему. Когда используется ssh-клиент PuTTY, баннер входа в систему не отображается. Это связано с тем, что SSH отправляет имя пользователя по умолчанию, а PuTTY не отправляет имя пользователя по умолчанию.

Клиенту SSH требуется имя пользователя, чтобы инициировать подключение к устройству с поддержкой SSH. Кнопка «Подключиться» не активна, если вы не введете имя хоста и имя пользователя. На этом снимке экрана показано, что баннер входа в систему отображается, когда SSH подключается к маршрутизатору. Затем баннер запрашивает пароль.

Баннер входа в систему запрашивает пароль Баннер запрашивает пароль

Клиенту PuTTY не требуется имя пользователя для инициации SSH-подключения к маршрутизатору. На этом снимке экрана показано, что клиент PuTTY подключается к маршрутизатору и запрашивает имя пользователя и пароль. Он не отображает баннер входа в систему.

SSH-подключение к роутеру

SSH-подключение к роутеру

На этом снимке экрана показано, что баннер входа в систему отображается, когда PuTTY настроен на отправку имени пользователя на маршрутизатор.

Отправить имя пользователя на маршрутизатор Отправить имя пользователя на маршрутизатор

Команды отладки и показа

Прежде чем вводить описанные здесь команды отладки, обратитесь к разделу Важная информация о командах отладки . Некоторые команды show поддерживаются Инструментом интерпретатора выходных данных (зарегистрированным только для клиентов), который позволяет просматривать анализ выходных данных команды show.

  • debug ip ssh Отображает отладочные сообщения для SSH.

  • show ssh Отображает состояние соединений с сервером SSH.

 Картер # показать ssh
 Версия подключения Состояние шифрования Имя пользователя
 0 2.0 Сеанс DES запущен cisco
  • show ip ssh Отображает версию и данные конфигурации для SSH.

 carter#показать ip ssh
 SSH включен — версия 2.0
 Время ожидания аутентификации: 120 секунд; Повторов аутентификации: 3

Пример вывода отладки

Отладка маршрутизатора

 00:23:20: SSH0: запуск процесса управления SSH
 00:23:20: SSH0: отправлен идентификатор версии протокола SSH-2.0-Cisco-1.25
 00:23:20: SSH0: id версии протокола - SSH-2.0-1.2.26
 00:23:20: SSH0: SSH_SMSG_PUBLIC_KEY сообщение
 00:23:21: SSH0: SSH_CMSG_SESSION_KEY msg - длина 112, тип 0x03
 00:23:21: SSH: началась расшифровка RSA
 00:23:21: SSH: расшифровка RSA завершена
 00:23:21: SSH: началась расшифровка RSA
 00:23:21: SSH: расшифровка RSA завершена
 00:23:21: SSH0: отправка подтверждения шифрования
 00:23:21: SSH0: ключи обменялись и шифрование включено
 00:23:21: SSH0: получено сообщение SSH_CMSG_USER
 00:23:21: SSH0: запрос аутентификации для userid cisco
 00:23:21: SSH0: сообщение SSH_SMSG_FAILURE отправлено
 00:23:23: SSH0: получено сообщение SSH_CMSG_AUTH_PASSWORD
 00:23:23: SSH0: аутентификация прошла успешно для cisco
 00:23:23: SSH0: запрос телетайпа
 00:23:23: SSH0: настройка TTY - запрошено: длина 24, ширина 80; набор:
 длина 24, ширина 80
 00:23:23: SSH0: неверный запрос - 0x22
 00:23:23: SSH0: получено сообщение SSH_CMSG_EXEC_SHELL 
00:23:23: SSH0: стартовый шелл для vty

Отладка сервера

Примечание. Это выходные данные компьютера 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 версии 1.2.26 [sparc-sun-solaris2.5.1], версия протокола 1.5.
 Составлено с помощью RSAREF.
 rtp-evergreen: Чтение данных конфигурации /opt/CISssh/etc/ssh_config
 rtp-evergreen: ssh_connect: getuid 0 geteuid 0 сразу 0
 rtp-evergreen: выделенный локальный порт 1023.
 rtp-evergreen: подключение к порту 22 10.13.1.99.
 rtp-evergreen: соединение установлено.
 rtp-evergreen: удаленный протокол версии 2.0,
 удаленная версия программного обеспечения Cisco-1.25
 rtp-evergreen: Ожидание открытого ключа сервера.
 rtp-evergreen: получен открытый ключ сервера (768 бит)
 и ключ хоста (512 бит).
 rtp-evergreen: Хост «10.13.1.99» известен и соответствует ключу хоста.
 rtp-evergreen: Инициализация случайным образом; начальный файл //.ssh/random_seed
 rtp-evergreen: Тип шифрования: 3des
 rtp-evergreen: отправлен зашифрованный ключ сеанса. 
rtp-evergreen: Установка детектора атак с компенсацией crc.
 rtp-evergreen: получено зашифрованное подтверждение.
 rtp-evergreen: Выполнение аутентификации по паролю.
 пароль cisco@10.13.1.99:
 rtp-evergreen: Запрос pty.
 rtp-evergreen: не удалось получить локальные данные xauth.
 rtp-evergreen: Запрос на пересылку X11 с подменой аутентификации.
 Предупреждение: Удаленный хост отклонил пересылку X11, возможно, программа xauth
 не может быть запущен на стороне сервера.
 rtp-evergreen: Запрос оболочки.
 rtp-evergreen: Вход в интерактивный сеанс.

Неправильные конфигурации

В этих разделах приведены примеры выходных данных отладки для нескольких неправильных конфигураций.

SSH от клиента SSH, не скомпилированного со стандартом шифрования данных (DES)

Неверный пароль

Отладка маршрутизатора

 00:26:51: SSH0: запуск процесса управления SSH
 00:26:51: SSH0: отправлен идентификатор версии протокола SSH-2.0-Cisco-1.25
 00:26:52: SSH0: id версии протокола - SSH-2.0-1.2.26 
00:26:52: SSH0: SSH_SMSG_PUBLIC_KEY сообщение
 00:26:52: SSH0: SSH_CMSG_SESSION_KEY msg - длина 112, тип 0x03
 00:26:52: SSH: началась расшифровка RSA
 00:26:52: SSH: расшифровка RSA завершена
 00:26:52: SSH: началась расшифровка RSA
 00:26:52: SSH: расшифровка RSA завершена
 00:26:52: SSH0: отправка подтверждения шифрования
 00:26:52: SSH0: ключи обменялись и шифрование включено
 00:26:52: SSH0: получено сообщение SSH_CMSG_USER
 00:26:52: SSH0: запрос аутентификации для userid cisco
 00:26:52: SSH0: сообщение SSH_SMSG_FAILURE отправлено
 00:26:54: SSH0: получено сообщение SSH_CMSG_AUTH_PASSWORD
 00:26:54: SSH0: ошибка аутентификации по паролю для cisco
 00:26:54: SSH0: сообщение SSH_SMSG_FAILURE отправлено
 00:26:54: SSH0: ошибка аутентификации для cisco (код=7)
 00:26:54: SSH0: сессия отключена - ошибка 0x07

Клиент SSH отправляет неподдерживаемый (Blowfish) шифр

Отладка маршрутизатора

 00:39:26: SSH0: запуск процесса управления SSH
 00:39:26: SSH0: отправлен идентификатор версии протокола SSH-2.0-Cisco-1.25
 00:39:26: SSH0: идентификатор версии протокола - SSH-2.0-W1.0 
00:39:26: SSH0: SSH_SMSG_PUBLIC_KEY сообщение
 00:39:26: SSH0: SSH_CMSG_SESSION_KEY msg - длина 112, тип 0x03
 00:39:26: SSH0: сессия отключена - ошибка 0x20

Получить «% SSH-3-PRIVATEKEY: невозможно получить закрытый ключ RSA для» Ошибка

Это сообщение об ошибке может быть вызвано изменением имени домена или имени хоста. Используйте эти обходные пути:

  • Обнулите ключи RSA и повторно сгенерируйте ключи.

 криптографический ключ обнуляет метку rsa имя_ключа
 криптографический ключ сгенерировать метку rsa key_name модуль key_size
  • Если предыдущее обходное решение не работает, попробуйте выполнить следующие действия:

    1. Обнулите все ключи RSA.

    2. Перезагрузите устройство.

    3. Создайте новые помеченные ключи для SSH.

Советы

  • Если ваши команды конфигурации SSH отклонены как недопустимые команды, значит, вы не создали пару ключей RSA для своего маршрутизатора. Убедитесь, что вы указали имя хоста и домен. Затем используйте команду crypto key generate rsa, чтобы сгенерировать пары ключей RSA и включить сервер SSH.

  • При настройке пар ключей RSA вы можете получить следующие сообщения об ошибках:

    1. Имя хоста не указано

      Вы должны использовать команду глобальной конфигурации hostname, чтобы настроить имя хоста для маршрутизатора.

    2. Домен не указан

      Вы должны использовать команду глобальной конфигурации ip domain-name, чтобы настроить хост-домен для маршрутизатора.

  • Количество допустимых SSH-подключений ограничено максимальным количеством vty, настроенным для маршрутизатора. Каждое соединение SSH использует ресурс vty.

  • SSH использует либо локальную безопасность, либо протокол безопасности, настроенный через AAA на вашем маршрутизаторе для аутентификации пользователя. При настройке AAA необходимо убедиться, что консоль не работает под управлением AAA. Примените ключевое слово в режиме глобальной конфигурации, чтобы отключить AAA на консоли.

  • Нет подключений к SSH-серверу:

 Картер # показать ssh

 %Нет подключений к серверу SSHv2.

Этот вывод предполагает, что сервер SSH отключен или включен неправильно. Если вы уже настроили SSH, рекомендуется перенастроить SSH-сервер в устройстве. Выполните эти шаги, чтобы перенастроить сервер SSH на устройстве.

  1. Удалите пары ключей RSA. После удаления пар ключей RSA сервер SSH автоматически отключается.
 carter(config)#crypto key обнулить rsa

Примечание. При включении SSH v2 важно создавать пары ключей с размером бит не менее 768.

Внимание: Эту команду нельзя отменить после сохранения конфигурации. Кроме того, после удаления ключей RSA вы не сможете использовать сертификаты или ЦС или участвовать в обмене сертификатами с другими одноранговыми узлами IP Security (IPSec), если только вы не создадите повторно ключи RSA для перенастройки совместимости ЦС, получите сертификат ЦС и снова запросите свой собственный сертификат. .

2. Перенастройте имя хоста и доменное имя устройства.

 carter(config)#hostname имя хоста

 carter(config)#ip доменное имя доменное имя

3. Создайте пары ключей RSA для вашего маршрутизатора; это автоматически включает SSH.

 carter(config)#криптоключ сгенерировать rsa

Примечание. См. криптографический ключ generate rsa — Справочник по командам безопасности Cisco IOS, версия 12.3, для получения дополнительной информации об использовании этой команды.

Примечание. Вы можете получить сообщение об ошибке SSH2 0: получено сообщение об ошибке неожиданного типа из-за полученного пакета, который не понятен маршрутизатору. Увеличьте длину ключа при создании ключей rsa для ssh, чтобы решить эту проблему.

4. Настройте SSH-сервер.

5. Чтобы включить и настроить маршрутизатор/коммутатор Cisco для сервера SSH, необходимо настроить параметры SSH. Если вы не настраиваете параметры SSH, используются значения по умолчанию.
ip ssh {[время ожидания в секундах] | [число попыток аутентификации]}

 carter(config)# ip ssh

Связанная информация

лист регистраций изменений

Редакция Дата публикации Комментарии
1,0
10 сентября 2001 г.
Изначальный выпуск

Оставить комментарий