Web-интерфейс ориентирован для быстрого и простого запуска устройства в несколько кликов. Для получения больших возможностей по настройке и диагностике устройства необходим доступ к консоли.
Как получить доступ
Для настройка доступа к консоли устройства нужно всего пара минут и несколько кликов мышкой.
- Перейдите в раздел Администрирование -> Система
- >> В блоке Служба
- Включить SSH – в зависимости от устройства и установленной прошивки, значения могут быть следующие:
- Включить/Выключить или Да/Нет
- LAN Only / LAN + WAN / Нет (установите нужный тип доступа, обычно для доступа из локальной сети LAN Only, а LAN + WAN разрешает доступ из вне, не рекомендуется для постоянного доступа )
- SSH порт – по умолчанию службой SSH используется 22 порт, но вы можете указать любой из свободного диапазона
- Разрешить вход с помощью пароля – данное поле указывает будите ли вы использовать в качестве авторизации логин и пароль или же логин и SSH key
- Авторизованные ключи – указываются ключи доступа SSH key
- Таймаут простоя – время ожидания неактивного SSH сеанса до его автоматического завершения
- Включить SSH – в зависимости от устройства и установленной прошивки, значения могут быть следующие:
- >> Нажмите кнопку Применить, (в крайне редких случаях необходима перезагрузка устройства)
Самыми распространенными клиентами для ОС Windows являются
- PuTTY – Самый известный SSH-клиент для Windows. Пожалуй, единственный, что на слуху у всех. Официальный сайт https://www.putty.org/
- KiTTY – Базируется на PuTTY, но обладает массой преимуществ. Официальный сайт http://www.9bis.net/kitty/
- MobaXterm – Многофункциональный SSH-клиент. Официальный сайт: http://mobaxterm.mobatek.net/
- SmarTTY – Многофункциональный SSH-клиент. Официальный сайт: http://smartty.sysprogs.com/
Как пользоваться
Все примеры будут рассматривается на примере PuTTY
- Проверьте правильно заполняемых полей
- >> Первой закладке Session
- Поле Host Name (or IP address) укажите IP адрес вашего устройства, в данном случае это: 192.168.50.1
- Поле Port укажите SSH службы который указали ранее, в данном случае это: 22
- Проверьте что переключатель в Connection type: SSH
- >> Нажмите кнопку Open
- Если вы открываете соединение в первые программа уточнит желаете ли вы подключится к указанному устройству с указанным отпечатком, то нажмите Yes
- После подключения вы увидите основное консольное окно
- Первой строкой которого будет login as: введите имя пользователя, обычно оно совпадает с тем что используется для входа в веб интерфейс устройства, в данном случае это: admin
- Затем будет запрошен пароль указанного пользователя и IP адреса устройства ранее, [email protected]’s password:, при вводе пароля никакие символы не отображаются в целях безопасности, после окончания ввода пароля нажмите Enter
- После вы увидите приглашение для ввода команд admin@GT-AC2900:/tmp/home/root#
- Теперь вы можете вводить необходимые команды для выполнения нужных задач
Ограничения
*
Дополнительная информация
- Wiki: SSH
Устройство OpenWrt по умолчанию всегда прослушивает доступ к командной строке SSH на порту 22. Для ssh в маршрутизатор» вы вводите команду ssh root@192.168.1.1
в эмуляторе терминала (для маршрутизатора с адресом 192.168.1.1).
В первый раз, когда вы подключитесь к маршрутизатору, вы, вероятно, увидите предупреждение о отпечатке ключа RSA. Если вы уверены, что это адрес вашего маршрутизатора OpenWrt, просто введите yes и нажмите Return. Затем введите пароль, предоставленный вашему маршрутизатору, или нажмите Return, если это начальная настройка. Вот пример сеанса:
$ ssh root@192.168.1.1 <== Вы вводите это Невозможно установить подлинность хоста '192.168.1.1 (192.168.1.1)' Отпечаток ключа RSA - SHA256:4VbDA/MOc7inPiyllF5f0r3Q6iEx89ddKdhLGBovsiY. Вы действительно хотите продолжить подключение (yes/no)? yes <== и это Предупреждение: Постоянно добавлено '192.168.1.1' (RSA) в список известных хостов. root@192.168.1.1's password: <== и пароль здесь. BusyBox v1.28.4 () built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt 18.06.5, r7897-9d401013fc ----------------------------------------------------- root@OpenWrt:~# <== введите следующую команду здесь
Чтобы завершить ssh сеанс на маршрутизаторе, введите exit
и нажмите Return.
Остальная часть этой страницы описывает несколько эмуляторов терминала, которые Windows, Linux или macOS могут использовать для доступа к вашему маршрутизатору OpenWrt.
Cmder, Smartty, Putty и WinSCP являются терминальными эмуляторами, которые позволяют вам сходить в маршрутизатор.
Cmder для Windows эмулятор терминала с открытым исходным кодом, который работает в Windows. Он может свободно использовать и обеспечивает легкую “оболочку командной строки” которая позволяет вам ssh в OpenWrt. Его привлекательные шрифты и цветовая схема легко видны на глазах. Полное распределение является предпочтительным (over the mini distribution), так как она обеспечивает эмуляцию Баша, с Unix-й набором команд.
-
Распакуйте cmder.zip файл
-
Откройте папку Cmder и дважды щелкните Cmder значок. Вы увидите окно Cmder, похожее на изображение ниже.
-
Чтобы передать ssh в маршрутизатор OpenWrt на 192.168.1.1, введите
ssh root@192.168.1.1
затем нажмите Return
Smartty дает вам доступ к командной строке для OpenWrt и позволяет вам открывать /редактировать/загружать/загружать файлы в OpenWrt и в целом более современную и удобную для пользователя, чем Putty (еще один инструмент, описанный ниже):
-
Загрузите Smartty из http://sysprogs.com/SmarTTY/: выберите “загрузить” для установщика или «портативную версию“, если вы хотите, чтобы это была отдельная программа, которая работает без установки.
-
после установки или после распаковки архива, дважды щелкните по исполняемому файлу SmarTTY.
-
Вы будете приветствованы окном с двумя вариантами, дважды нажмите “setup новое соединение SSH” (другая опция предназначена для последовательных подключений, для usb-TTL-ключей и иногда вы подключаетесь к серийным выводам устройства на плате, мы выиграли Не используйте это сейчас).
-
Окно изменится в настройку SSH, напишите следующую информацию:
-
Имя хоста: IP-адрес устройства OpenWrt (по умолчанию 192.168.1.1)
-
Имя пользователя: root (это “администратор” и только пользователь по умолчанию OpenWrt)
-
Пароль: оставьте это поле пустым для вашего первого подключения, а затем напишите пароль, который вы установили (либо в графическом интерфейсе Luci, либо после первого доступа к SSH)
-
-
Нажмите кнопку “Подключиться” внизу, и теперь вы увидите большой экран терминала.
-
По умолчанию в прошивке OpenWrt отсутствует серверный компонент, позволяющий открывать /редактировать/просматривать/загружать/загружать файлы в Smartty, поэтому после того, как вы подключились к интернету, напишите,
opkg update && opkg install openssh-sftp-server
чтобы установить его. Если следующий шаг завершится неудачно, возможно, потребуется перезагрузить устройство OpenWrt для запуска этой новой службы. -
Теперь вы можете нажать Файл → Открыть удаленный файл чтобы открыть всплывающее окно с файловой системой устройства OpenWrt, и вы можете перемещаться по нему и открывать текстовые файлы, например, как обычно (они будут открываться в окне текстового редактора SmarTTY)
-
Если вы хотите загрузить или загрузить файлы в/из определенной папки на устройстве, вы можете щелкнуть по меню SCP и выбрать наиболее подходящее действие оттуда.
После первого подключения к устройству Smartty сохранил профиль, поэтому вы можете снова подключиться к тому же устройству (на этом IP-адресе с этим паролем), просто дважды щелкнув значок в первом окне, которое вы видите при запуске Smartty. Вы можете щелкнуть правой кнопкой мыши по этому значку профиля, чтобы изменить его, если необходимо.
Putty дает вам доступ к командной строке для OpenWrt:
-
Загрузите Putty https://www.putty.org: просто получите 32-разрядную “putty.exe” загрузку из “Alternative binary files” раздела.
-
Начните “putty.exe”с вашего клиента Windows. Появится окно входа в систему Putty.
-
перейдите в “Session” категорию окна входа в Putty, найдите поле “Host Name” (or IP address) и просто введите IP-адрес (например, 192.168.1.1 ) вашего устройства OpenWrt, сохраните порт 22 по умолчанию.
-
Нажмите
Open
кнопку в нижней части, чтобы открыть соединение. Это вызовет окно оболочки, спрашиваяlogin as
. Войдите как root с паролем OpenWrt, который вы определили некоторое время раньше. Если вы еще не установили пароль “root”, вам не будет задан пароль. -
Выполнено, вы вошли в командную строку OpenWrt.
WinSCP позволяет просматривать файловую систему OpenWrt в Windows Exlorer, например, в стиле GUI:
-
Сначала вам необходимо установить SFTP-сервер со стороны OpenWrt, так как WinSCP нуждается в том, чтобы успешно соединиться. В командной строке putty (см. Предыдущий раздел) выполните:
-
opkg update
-
opkg install openssh-sftp-server
-
Обычно этого не требуется, но для простоты этого способа перезагрузите ваше устройство OpenWrt, чтобы убедиться, что служба SFTP действительно запущена
-
-
Скачать WinSCP из https://winscp.net/eng/download.php, получить не-бета
Installation package
илиportable executables
установить или распаковать их на клиенте Windows , -
Начните
WinSCP.exe
с вашего клиента Windows, появится окно входа WinSCP. -
Нажмите
New Site
слева, затем введите свой IP-адрес устройства OpenWrt (192.168.1.1) с правой стороныHost name
, сохраните порт по умолчанию22
. ВUser name
enter root, inPassword
, введите ваш root пароль (или оставьте пустым, если вы не установили пароль еще) -
Нажмите
Login
на нижнюю часть окна. -
Готово. Теперь у вас есть вид, похожий на Exlorer, на вашу файловую систему OpenWrt.
Редактирование конфигурационных файлов OpenWrt с помощью встроенного графического редактора WINSCP:
для редактирования конфигурационного файла OpenWrt с помощью редактора WinSCP с графическим интерфейсом щелкните правой кнопкой мыши файл в WinSCP и выберите “Edit” из контекстного меню.
Все дистрибутивы Linux предоставляют клиентский интерфейс ssh как часть стандартной установки.
-
Откройте эмулятор терминала и напишите
ssh root@192.168.1.1
(“ssh» — это команда,root
это пользователь OpenWrt, к которому вы подключаетесь, а192.168.1.1
это светодиод по умолчанию OpenWrt) -
появится сообщение о принятии нового ключа от устройства OpenWrt, напишите “yes” и нажмите клавишу “Ввод”.
-
Если по какой-то причине вы переустановили OpenWrt, у устройства будет другой ключ, и вы получите сообщение о несоответствии ключей. В этой ошибке будет указано, что является командной строкой для копирования-вставки в вашем терминале, чтобы удалить старый ключ и продолжить.
-
-
если вы хотите закрыть сеанс, напишите “exit”
Обычно у Linux также есть клиенты SCP (для открытия/редактирования/загрузки/выгрузки файлов в OpenWrt), которые могут быть установлены или не установлены по умолчанию. Вам нужно найти документацию вашего дистрибутива или выполнить поиск с помощью интерфейса управления пакетами для “SCP”, чтобы найти, где он находится, и его текущий статус установки. Прочтите его встроенное руководство (“man scp”, например, для клиента командной строки SCP) или google некоторые учебные пособия, чтобы узнать, как его использовать.
На macOS (ранее Mac OSX) любой эмулятор терминала позволит вам ssh. Там несколько терминальных эмуляторов:
-
Терминал — встроенная терминальная программа macOS. Найти его /Приложения/Утилиты
-
iTerm2 https://iterm2.com/ значительно улучшенная терминальная программа. Пожертвования — это того стоит.
Чтобы подключиь ssh в вашем маршрутизаторе OpenWrt на 192.168.1.1, введите ssh root@192.168.1.1
, и нажмите Return.
SSH (Secure Shell) – это протокол, который обеспечивает безопасное удаленное подключение к устройствам через сеть. Это полезно при настройке и управлении сетевыми устройствами, такими как роутеры. Если вы хотите получить доступ к своему роутеру через SSH, следуйте этой пошаговой инструкции.
Шаг 1: Убедитесь, что ваш роутер поддерживает SSH и что функция SSH разрешена. Обычно информация о поддержке и настройке SSH указана в руководстве пользователя вашего роутера. Если вам нужно включить SSH, войдите в настройки роутера через веб-интерфейс и найдите соответствующую опцию.
Шаг 2: Установите SSH-клиент на ваш компьютер. В качестве SSH-клиента можно использовать PuTTY (для Windows), OpenSSH (для Linux и macOS) или другую программу, которую вы предпочитаете.
Шаг 3: Узнайте IP-адрес вашего роутера. Обычно это делается путем проверки настроек сети вашего компьютера или с помощью команды «ipconfig» (для Windows) или «ifconfig» (для Linux и macOS) в командной строке.
Пример команды для Windows:
ipconfig
Пример команды для Linux и macOS:
ifconfig
Шаг 4: Откройте SSH-клиент и введите IP-адрес вашего роутера в соответствующее поле. Установите порт, если требуется, и выберите протокол SSH.
Шаг 5: Нажмите кнопку «Подключить» и введите учетные данные для входа на роутер. Это могут быть имя пользователя и пароль по умолчанию или персональные учетные данные, которые вы настроили.
Поздравляю! Теперь вы подключены к своему роутеру по протоколу SSH и можете настроить его или управлять им удаленно.
Содержание
- Как настроить подключение к роутеру по SSH
- Шаг 1. Подготовка роутера
- Шаг 2. Установка SSH сервера
- Шаг 3. Генерация SSH ключей
- Шаг 4. Настройка доступа по SSH
- Шаг 5. Подключение к роутеру по SSH
- Шаг 6. Проверка подключения
Как настроить подключение к роутеру по SSH
Подключение к роутеру по Secure Shell (SSH) позволяет администраторам удаленно управлять и настраивать сетевые настройки роутера. В этом разделе предоставляется пошаговая инструкция по настройке подключения к роутеру по SSH.
Шаг | Описание |
---|---|
Шаг 1 | Убедитесь, что ваш роутер поддерживает SSH. Так как это расширенная функция, не все модели роутеров имеют возможность соединения по SSH. |
Шаг 2 | Установите SSH-клиент на компьютер, с которого вы планируете подключаться к роутеру. Множество SSH-клиентов доступны для бесплатного скачивания в Интернете. |
Шаг 3 | Откройте SSH-клиент и введите IP-адрес роутера в поле «Адрес сервера». |
Шаг 4 | Выберите протокол аутентификации. В большинстве случаев будет использоваться парольная аутентификация, для которой необходимо ввести учетные данные, такие как имя пользователя и пароль. |
Шаг 5 | Нажмите кнопку «Подключиться» для установления соединения с роутером по SSH. |
Шаг 6 | После успешного установления соединения вы будете авторизованы на роутере и сможете настраивать его сетевые настройки через SSH. |
Следуя этим шагам, вы сможете настроить подключение к роутеру по SSH и управлять им удаленно. Это предоставляет удобство и гибкость при настройке сетевых настроек вашего роутера.
Шаг 1. Подготовка роутера
Перед тем, как подключиться к роутеру по SSH, необходимо выполнить несколько предварительных настроек на самом роутере:
- Установите SSH-сервер на роутере: Для этого вам потребуется доступ к интерфейсу роутера. Откройте веб-браузер и введите IP-адрес роутера в адресную строку. Войдите в настройки роутера, используя соответствующее имя пользователя и пароль.
- Создайте учётную запись SSH: В настройках роутера найдите раздел, отвечающий за SSH-сервер. Создайте учётную запись для подключения по SSH, указав имя пользователя и пароль. Обязательно выберите надёжный пароль для обеспечения безопасности.
- Откройте порт для SSH: Настройте роутер таким образом, чтобы он пропускал входящие соединения по SSH-протоколу. Обычно это делается через раздел «Переадресация портов» или «Правила брандмауэра».
После выполнения этих шагов ваш роутер будет готов к подключению по SSH.
Шаг 2. Установка SSH сервера
После того, как вы убедились в наличии SSH на вашем роутере, можно приступать к установке SSH сервера. В зависимости от операционной системы роутера, установка может отличаться. Ниже приведены инструкции для некоторых популярных операционных систем:
- Для операционной системы OpenWRT:
- Откройте терминал, подключитесь к роутеру по протоколу SSH и войдите в систему.
- Выполните команду
opkg update
для обновления списков пакетов. - Выполните команду
opkg install openssh-server
для установки SSH сервера. - Дождитесь завершения установки.
- Для операционной системы DD-WRT:
- Откройте веб-интерфейс роутера в вашем браузере.
- Перейдите в раздел «Services» или «Настройки» и выберите «Secure Shell (SSH)».
- Установите флажок рядом с опцией «Enable SSH» или «Включить SSH».
- Сохраните изменения.
- Для операционной системы Tomato:
- Откройте веб-интерфейс роутера в вашем браузере.
- Перейдите в раздел «Administration» или «Администрирование» и выберите «SSH Daemon» или «SSH-демон».
- Установите флажок рядом с опцией «Enable SSH» или «Включить SSH».
- Сохраните изменения.
После установки SSH сервера вы готовы перейти к следующему шагу — настройке доступа к роутеру по SSH.
Шаг 3. Генерация SSH ключей
Прежде чем подключиться к роутеру по SSH, необходимо сгенерировать SSH ключи. Ключи представляют собой пару: приватный и публичный ключи. Приватный ключ нужно хранить в безопасном месте, а публичный ключ будет использоваться для аутентификации при подключении к роутеру.
Для генерации SSH ключей следует выполнить следующие шаги:
- Откройте командную строку или терминал на вашем компьютере.
- Введите команду
ssh-keygen
и нажмите Enter. - Система попросит вас указать имя и расположение для сохранения ключей. По умолчанию ключи будут сохранены в директорию
.ssh
в вашей домашней папке. - Введите имя исходного (приватного) ключа, например,
id_rsa
. Если вы не хотите задавать другое имя, просто нажмите Enter. - Введите фразу-пароль для защиты приватного ключа. Фраза-пароль должна быть сложной и надежной, но при этом запоминаемой для вас. При создании фразы-пароля не отображается вводимый текст на экране.
- Подтвердите фразу-пароль еще раз, введя ее повторно.
После выполнения этих шагов в директории .ssh
должны появиться два файла: id_rsa
(приватный ключ) и id_rsa.pub
(публичный ключ).
Теперь у вас есть необходимые SSH ключи для подключения к роутеру по SSH.
Шаг 4. Настройка доступа по SSH
Доступ к роутеру по SSH требует настройки соответствующих параметров. Перед подключением к роутеру необходимо выполнить следующие шаги:
- Откройте программу для работы с терминалом.
- Введите команду
ssh username@ip address
, гдеusername
— это ваше имя пользователя, аip address
— это IP-адрес роутера. - Если в процессе подключения программа запросит пароль, введите его.
- После успешного входа в систему вы сможете управлять роутером через командную строку.
Внимание! При настройке доступа по SSH необходимо использовать сложные пароли и регулярно изменять их, чтобы обезопасить свою сеть от несанкционированного доступа.
Шаг 5. Подключение к роутеру по SSH
После установки SSH-сервера на вашем роутере, вы можете подключиться к нему с помощью SSH-клиента.
Для подключения вам понадобится знать IP-адрес роутера, имя пользователя и пароль для входа.
Процесс подключения к роутеру по SSH выглядит следующим образом:
- Запустите SSH-клиент на вашем устройстве.
- Введите IP-адрес роутера в поле для ввода адреса сервера.
- Выберите протокол SSH.
- Укажите порт, используемый SSH-сервером (обычно это порт 22).
- Введите имя пользователя и пароль для входа.
- Нажмите кнопку «Подключиться» или выполните команду подключения.
Если все данные введены верно, SSH-клиент установит соединение с роутером и вы сможете работать с ним через командную строку.
Обратите внимание, что если вы используете командную строку для подключения к роутеру по SSH, то необходимо ввести команду из следующего формата:
ssh [имя пользователя]@[IP-адрес роутера]
Теперь вы можете настроить и управлять роутером с помощью SSH-подключения, что обеспечит более безопасный способ удаленного доступа к устройству.
Шаг 6. Проверка подключения
После успешного подключения к роутеру по SSH необходимо выполнить проверку подключения, чтобы убедиться, что все работает корректно.
Для этого можно воспользоваться командой show ip interface brief
, которая отобразит краткую информацию о всех интерфейсах роутера и их состоянии.
Также можно проверить соединение с другими устройствами в сети, используя команды ping
или traceroute
. Например, для проверки связи с узлом с IP-адресом 192.168.0.1 можно выполнить команду ping 192.168.0.1
.
Если все проверки подключения прошли успешно и нет ошибок или проблем, значит вы успешно подключились к роутеру по SSH.
Introduction
This document describes how to configure and debug Secure Shell (SSH) on Cisco routers or switches that run Cisco IOS® Software.
Prerequisites
Requirements
The Cisco IOS image used must be a k9(crypto) image in order to support SSH. For example, c3750e-universalk9-tar.122-35.SE5.tar is a k9 (crypto) image.
Components Used
The information in this document is based on Cisco IOS 3600 Software (C3640-IK9S-M), Release 12.2(2)T1.
SSH was introduced into these Cisco IOS platforms and images:
- SSH terminal-line access (also known as reverse-Telnet) was introduced in Cisco IOS platforms and images starting in Cisco IOS Software Release 12.2.2.T.
-
SSH Version 2.0 (SSH v2) support was introduced in Cisco IOS platforms and images starting in Cisco IOS Software Release 12.1(19)E.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Conventions
Refer to Cisco Technical Tips Conventions for more information.
SSH v2 Network Diagram
Test Authentication
Authentication Test without SSH
First test the authentication without SSH to make sure that authentication works with the router Carter before you add SSH. Authentication can be with a local username and password or with an authentication, authorization, and accounting (AAA) server that runs TACACS+ or RADIUS. (Authentication through the line password is not possible with SSH.) This example shows local authentication, which lets you Telnet into the router with username cisco and password cisco.
Note: Throughout this document, vty is used to indicate Virtual Terminal Type.
!--- 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.
Authentication Test with SSH
In order to test authentication with SSH, you have to add to the previous statements in order to enable SSH on Carter, and test SSH from the PC and UNIX stations.
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
At this point, the show crypto key mypubkey rsa command must show the generated key. After you add the SSH configuration, test your ability to access the router from the PC and UNIX station.
Optional Configuration Sets
Prevent Non-SSH Connections
If you want to prevent non-SSH connections, add the transport input ssh command under the lines to limit the router to SSH connections only. Straight (non-ssh) Telnets are refused.
line vty 0 4
!--- Prevent non-SSH Telnets.
transport input ssh
Test to ensure that non-SSH users cannot Telnet to the router Carter.
Set Up an IOS Router or Switch as SSH Client
There are four steps required to enable SSH support on a Cisco IOS router:
1. Configure the hostname command.
2. Configure the DNS domain.
3. Generate the SSH key.
4. Enable SSH transport support for the vty.
If you want to have one device act as an SSH client to the other, you can add SSH to a second device called Reed. This puts these devices in a client-server arrangement, where Carter acts as the server, and Reed acts as the client. The Cisco IOS SSH client configuration on Reed is the same as required for the SSH server configuration on 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.
Issue this command to SSH from the Cisco IOS SSH client (Reed) to the Cisco IOS SSH server (Carter) to test this:
ssh -v 2 -c aes256-cbc -m hmac-sha1-160 -l cisco 10.31.1.99
Setup an IOS Router as an SSH Server that Performs RSA-based User Authentication
Complete these steps to configure the SSH server to perform RSA-based authentication.
1. Specify the Host name.
Router(config)#hostname <host name>
2. Define a default domain name.
Router(config)#ip domain-name <Domain Name>
3. Generate RSA key pairs.
Router(config)#crypto key generate rsa
4. Configure SSH-RSA keys for user and server authentication.
Router(config)#ip ssh pubkey-chain
5. Configure the SSH username.
Router(conf-ssh-pubkey)#username <user name>
6. Specify the RSA public key of the remote peer.
Router(conf-ssh-pubkey-user)#key-string
7. Specify the SSH key type and version. (This step is optional.)
Router(conf-ssh-pubkey-data)#key-hash ssh-rsa <key ID>
8. Exit the current mode and return to privileged EXEC mode.
Router(conf-ssh-pubkey-data)#end
Add SSH Terminal-Line Access
If you need outbound SSH terminal-line authentication, you can configure and test SSH for outbound reverse Telnets through Carter, which acts as a comm server to 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
If Philly is attached to the Carter Port 2, then you can configure SSH to Philly through Carter from Reed with this command:
ssh -v 2 -c aes256-cbc -m hmac-shal-160 -p 2002 10.31.1.99
You can use this command from Solaris:
ssh -c 3des -p 2002 -x -v 10.13.1.99
Restrict SSH Access to a Subnet
You need to limit SSH connectivity to a specific subnetwork where all other SSH attempts from IPs outside the subnetwork are dropped.
You can use these steps to do the same:
- Define an access-list that permits the traffic from that specific subnetwork.
- Restrict access to the VTY line interface with an access-class.
This is an example configuration. In this example, only SSH access to the 10.10.10.0 255.255.255.0 subnet is permitted, any other is denied access.
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
Note: The same procedure to lock down the SSH access is also used for switch platforms.
Configure the SSH Version 2
carter(config)#ip ssh version 2
Variations on Banner Command Output
The banner command output varies between the Telnet and different versions of SSH connections. This table illustrates how different banner command options work with various types of connections.
Banner Command Options |
Telnet |
SSH v2 |
banner log |
Displays before log in to device. |
Displays before log in to device. |
banner motd |
Displays before log in to device. |
Displays after log in to device. |
banner exec |
Displays after log in to device. |
Displays after log in to device. |
Note: SSH version 1 is no longer recommended.
Unable to Display the Login Banner
SSH version 2 supports the log in banner. When it initiates the SSH session with the Cisco router, the log in banner is displayed if the SSH client sends the username. For example, when the Secure Shell ssh client is used, the log in banner is displayed. When the PuTTY ssh client is used, the log in banner is not displayed. This is because SSH sends the username by default and PuTTY does not send the username by default.
The SSH client needs the username to initiate the connection to the SSH enabled device. The Connect button is not enabled if you do not enter the host name and username. This screen image shows that the log in banner is displayed when SSH connects to the router. The banner then prompts for a password.
Banner Prompts for a Password
The PuTTY client does not require the username to initiate the SSH connection to the router. This screen image shows that the PuTTY client connects to the router and prompts for the username and password. It does not display the log in banner.
SSH Connection to Router
This screen shot shows that the log in banner is displayed when PuTTY is configured to send the username to the router.
Send Username to Router
Debug and Show Commands
Before you issue the debug commands described here, refer to Important Information on Debug Commands. Certain show commands are supported by the Output Interpreter Tool (registered to customers only), which allows you to view an analysis of show command output.
-
debug ip ssh Displays debug messages for SSH.
-
show ssh Displays the status of SSH server connections.
carter#show ssh
Connection Version Encryption State Username
0 2.0 DES Session started cisco
-
show ip ssh displays the version and configuration data for SSH.
carter#show ip ssh
SSH Enabled - version 2.0
Authentication timeout: 120 secs; Authentication retries: 3
Sample Debug Output
Router Debug
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
Server Debug
Note: This is Solaris machine output.
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.
Incorrect Configurations
These sections have sample debug output from several incorrect configurations.
SSH from an SSH Client not Compiled with Data Encryption Standard (DES)
Bad Password
Router Debug
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
SSH Client Sends Unsupported (Blowfish) Cipher
Router Debug
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
Get «%SSH-3-PRIVATEKEY: Unable to Retrieve RSA Private Key for» Error
A change in the domain name or host name can trigger this error message. Use these workarounds:
-
Zeroize the RSA keys and re-generate the keys.
crypto key zeroize rsa label key_name
crypto key generate rsa label key_name modulus key_size
-
If the previous workaround does not work, try these steps:
-
Zeroize all RSA keys.
-
Reload the device.
-
Create new labeled keys for SSH.
-
Tips
-
If your SSH configuration commands are rejected as illegal commands, you have not successfully generated a RSA key pair for your router. Ensure you have specified a host name and domain. Then use the crypto key generate rsa command to generate a RSA key pairs and enable the SSH server.
-
When you configure RSA key pairs, you can get these error messages:
-
No hostname specified.
You must use the hostname global configuration command to configure a host name for the router.
-
No domain specified.
You must use the ip domain-name global configuration command to configure a host domain for the router.
-
-
The number of allowable SSH connections is limited to the maximum number of
vty
configured for the router. Each SSH connection uses avty
resource. -
SSH uses either local security or the security protocol configured through AAA on your router for user authentication. When you configure AAA, you must ensure that the console is not run under AAA. Apply a keyword in the global configuration mode to disable AAA on the console.
-
No SSH server connections running:
carter#show ssh
%No SSHv2 server connections running.
This output suggests that the SSH server is disabled or not enabled properly. If you have already configured SSH, it is recommended that you reconfigure the SSH server in the device. Complete these steps in order to reconfigure the SSH server on the device.
- Delete the RSA key pairs. After the RSA key pairs are deleted, the SSH server is automatically disabled.
carter(config)#crypto key zeroize rsa
Note: It is important to generate key pairs with at least 768 as bit size when you enable SSH v2.
Caution: This command cannot be undone after you save your configuration. Also, after RSA keys are deleted, you cannot use certificates or the CA or participate in certificate exchanges with other IP Security (IPSec) peers unless you regenerate the RSA keys to reconfigure CA interoperability, get the CA certificate, and request your own certificate again.
2. Reconfigure the hostname and domain name of the device.
carter(config)#hostname hostname
carter(config)#ip domain-name domainname
3. Generate RSA key pairs for your router. This automatically enables SSH.
carter(config)#crypto key generate rsa
Note: Refer to crypto key generate rsa — Cisco IOS Security Command Reference, Release 12.3 for more information on the usage of this command.
Note: You can receive the SSH2 0: Unexpected mesg type received error message due to a packet received that is not understandable by the router. Increase the key length while you generate rsa keys for ssh in order to resolve this issue.
4. Configure the SSH server.
5. To enable and configure a Cisco router/switch for the SSH server, you must configure SSH parameters. If you do not configure SSH parameters, the default values are used.
ip ssh {[timeout seconds] | [authentication-retries integer]}
carter(config)# ip ssh
Related Information
- SSH Product Support Page
Overview :
SSH is a security mechanism, which can be used to access the privilege and configuration mode of a Router and a Switch from a remote location to perform the required action. The primary aim to configure SSH is to access devices deployed in a network from a remote location so that the required configuration can be performed and resources can be provided in a seamless manner. To learn about the SSH configuration, the Cisco Packet Tracer tool is used to demonstrate the steps to be followed and associated commands to be executed for this purpose. In addition to this, syntax and explanation of each command are provided along with screen-grabs.
SSH Configuration on Cisco Router :
Below listed steps will be followed to configure the SSH as follows.
Step-1 :
Cisco Packet Tracer is opened and network topology is created between a computer system and a router.
Step-2 :
Desktop settings of the Computer System need to be accessed to assign it with IP address, associated subnet mask and gateway address of the network.
Assigning IP address, subnet mask, and default gateway address to PC.
Step-3 :
Further, the Command Line Interface of the router needs to be accessed to assign an IP address to the connected interface (Fast Ethernet 0/0 in this scenario).
Step-4 :
Configuration mode is accessed using configure terminal command through Router’s CLI. IP address 192.168.16.1 is assigned to interface with subnet mask of 255.255.255.0. In addition to this, no shutdown command is executed to change the interface state to up. With successful configuration of assigning IP addresses, a communication channel is established between the computer system and Router.
An IP address is assigned to Router’s interface
Step-5 :
SSH Command Execution –
- All the commands used to enable the SSH is highlighted in the below-provided screen-grab of the Cisco Packet Tracer.
- At first, domain name is set using ‘ip domain-name domain-name command.
- Then, to maintain a secure SSH connection, a crypto key is generated using ‘crypto key generate RSA’ command. A value of ‘1024’ is input and enter is clicked to successfully generate the key.
- ‘enable password password’ command is executed to maintain security and to allow only authorized users to access the router command-line interface.
- Further, the ‘username password’ command is used to set the username to establish an SSH connection with the network device.
- ‘IP ssh version 2’ command is used to define the version of SSH, which will be configured on this router.
- Further, ‘line vty 0 15’ is executed, so that router can be accessed from a remote system connected to the network.
- Then, ‘transport input ssh’ and ‘login local’ commands are executed for the successful configuration of SSH on the Cisco Router.
SSH configuration
Step-6 :
To test the SSH configured on Cisco Router, Command Prompt is opened on Computer System and the ‘ssh -l username IP-address’ command is executed.
Command –
ssh -l cisco 192.168.16.1
SSH Testing
Last Updated :
16 Aug, 2021
Like Article
Save Article