Настройка ios роутера в качестве ssh клиента

Обновлено: 04.07.2024

Протокол SSH уже продолжительное время является основным используемым средством для удалённого администрирования сетевых устройств и unix-ОС.

Попробуем избежать всего вышеперечисленного.

В качестве подопытных и настраиваемых систем будет выбран Centos Linux 7й версии и семейство ОС Cisco IOS / NX-OS, а также Windows Server 2016, имеющий с билда 1709 встроенную поддержку SSH.

Безусловно, можно добавить поддержку SSH и в Windows-системы более старых версий, но отдельно останавливаться на настройках этого варианта нет особого смысла, т.к. настройки эти будут урезанным функционалом того же OpenSSH. В общем, предлагаемые меры по улучшению безопасности SSH будут применимы для всех ОС.

Если используется другая *nix-ОС, а не redhad-based, то расположение конфигурационных файлов может быть иным. Это принципиально ничего не меняет.

Устанавливаем SSH

  • Secure Shell SSH Version 1 Integrated Client;
  • Secure Shell SSH Version 1 Server Support;
  • Secure Shell SSH Version 2 Server Support;

будут физически отсутствовать в составе IOS.

Добавление поддержки SSH в Windows Server

Начиная с Windows Server 2016 build 1709, поддержка SSH добавлена в платформу Windows.

Включить её несложно.

Get-WindowsCapability -Online | ? Name -like "OpenSSH*"

У меня Windows Server 2019, поэтому вывод выглядит так:

Add-WindowsCapability -Online -Name OpenSSH.Server

dism /Add-Capability /CapabilityName:OpenSSH.Server

0.0.1.0 /LimitAccess /Online

Проверим, что всё установилось:

ну либо просто запросим ещё раз Get-WindowsCapability -Online | ? Name -like "OpenSSH*" :

Фиксируем версию SSHv2

Включаем SSH 2.х в Cisco IOS

Please create RSA keys to enable SSH (and of atleast 768 bits for SSH v2).

Если ключи ещё не созданы, то делается это просто:

Теперь скажем SSH, чтобы он использовал именно эту пару:

Если всё ОК, нам выведется примерно такое:

%SSH-5-DISABLED: SSH 2.0 has been disabled %SSH-5-ENABLED: SSH 2.0 has been enabled

и явно указываем, что входящие подключения должны быть исключительно по SSH:

Включаем SSH 2.х в Cisco NX-OS

Не забудьте разве что явно включить использование SSH:

Включаем SSH 2.х в sshd

В настройках sshd нам надо будет добавить (либо заменить) строку:

Включаем SSH 2.х в Windows Server

Теперь ограничим список протоколов, которые могут использоваться для подтверждения подлинности при подключении клиента.

Ограничиваем перечень протоколов подтверждения подлинности сервера

DSA нам сразу не нравится, т.к. он умеет только ключи по 1024 бита и есть мнение, высказанное тов.Сноуденом, что NSA не просто так активно любит DSA.

Поэтому сразу отсечём вариант использования DSA.

Фиксируем в Cisco IOS использование RSA для host identification

У Cisco это будет просто:

Фиксируем алгоритмы host identification у sshd

  • ssh_host_dsa_key
  • ssh_host_dsa_key.pub
  • ssh_host_ecdsa_key
  • ssh_host_ecdsa_key.pub
  • ssh_host_rsa_key
  • ssh_host_rsa_key.pub
  • ssh_host_ed25519_key
  • ssh_host_ed25519_key.pub

оставим только нужные.

  • HostKey /etc/ssh/ssh_host_rsa_key
  • HostKey /etc/ssh/ssh_host_dsa_key
  • HostKey /etc/ssh/ssh_host_ecdsa_key
  • HostKey /etc/ssh/ssh_host_ed25519_key

Если директива про использование файла будет отсутствовать или файл будет недоступен, то соответствующий алгоритм не сможет использоваться для подтверждения подлинности узла, что может привести к проблемам с подключением.

Например, если оставить только модный Ed25519, а RSA выключить, то широко используемый PuTTY может говорить примерно такое:

Это, кстати, лечится обновлением PuTTY на последнюю версию, в которой есть поддержка новых алгоритмов. Так что сделайте это заранее.

Делается это так:

Для Ed25519: ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N ""

Для RSA: ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key -N ""

Ограничиваем протоколы для подтверждения подлинности SSH в Windows Server

  • HostKey ssh_host_rsa_key
  • HostKey ssh_host_ed25519_key

Для Ed25519: .\ssh-keygen -t ed25519 -f ssh_host_ed25519_key

Для RSA: .\ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key

Далее привязываем эти ключи командой ssh-add :

В принципе всё, сервис sshd можно запускать.

Фирменный костыль от Microsoft

Install-Module -Force OpenSSHUtils

Теперь про обмен ключевой информацией.

Настройка обмена ключами / создания ключевого материала

Посмотрим, как сейчас у нас настроен DH в SSH на Cisco IOS:

Minimum expected Diffie Hellman key size : 1024 bits

Плохо. Надо не ниже 2048 бит. Задаём это командой:

В варианте sshd нам надо будет добавить в конфигурацию строчку вида:

RekeyLimit default none

В случае Cisco IOS (кстати, только в некоторых IOS) настройка параметров rekey делается командой:

с параметром time или volume . Заметьте, или-или.

Перегенерация модулей SSHv2

При подключении и стартовой совместной генерации ключевого материала по алгоритму Диффи-Хеллмана-Меркля системе нужно быстро откуда-то достать новое простое число, притом большого размера. Чтобы не делать эту трудоёмкую вычислительную задачу в момент подключения, замедляя оное, используется заранее созданный массив таких чисел и их параметров.

В момент установки ОС и установки/обновления sshd это действие не производится, поэтому оно обязательно должно быть выполнено администратором.

ssh-keygen -G "$/moduli2048.bak" -M 127 -v -b 2048 -W 2

Когда вы сделаете такое же действие, система подумает какое-то время и выдаст подобное: Increased memory: 127 MB; need 4190208 bytes Sieve next 2130706432 plus 2047-bit Sieved with 203277289 small primes in 360 seconds Found 1468150 candidates

Формат файла moduli

ssh-keygen -T /etc/ssh/moduli -f "$/moduli2048.bak" -a 500

(только первая строка, для сравнения этого достаточно).

awk '$5 > 2000' /etc/ssh/moduli > "$/moduli.2048"

Этой командой мы скопировали в moduli.2048 только те строки, в которых в 5й колонке, где длина, значение более 2000.

Подходы могут быть разными, в общем просто учитывайте, что к файлу новое дописывается, а не замещается.

Настраиваем используемый алгоритм шифрования трафика SSHv2

В Cisco IOS это будет задаваться так:

В настройках sshd нам надо будет добавить (либо заменить) строку:

Узнать, какие алгоритмы поддерживаются вашей версий sshd можно, выполнив команду:

Думаю, aes256-ctr там точно будет.

Отключаем сжатие SSHv2-трафика

Это простое действие, нужное для защиты от класса атак на или некорректную/неточную обработку распаковки каких-то специфичных данных со стороны клиента, или на различные переполнения.

В Cisco IOS сжатие в SSH не поддерживается официально, поэтому и отключать нечего.

Выбираем Message Authentication Code у SSHv2

Алгоритмы шифрования (за исключением варианта AEAD) не умеют проверять целостность данных, которые шифруют. Поэтому в нашем случае, когда используется AES256-CTR, надо озаботиться выбором MAC.

Поэтому, честно говоря, базового варианта hmac-sha1-96 вполне достаточно.

В Cisco IOS тип MAC будет задаваться так:

Теперь перейдём от криптографической части к сетевой.

Сетевые настройки SSHv2

Блок будет выглядеть примерно так:

IgnoreRhosts yes отключает древний механизм создания списка узлов (обычно в файле .rhosts ), с которых возможен вход без аутентификации.

Ограничения SSH на процедуру подключения к сеансу

Блок наших настроек про всё это будет выглядеть так:

RhostsRSAAuthentication no PubkeyAuthentication no HostbaseAuthentication no ChallengeResponseAuthentication no KerberosAuthentication no PasswordAuthentication yes
LoginGraceTime 15
ClientAliveInterval 1800 ClientAliveCountMax 0
MaxAuthTries 3 MaxSessions 1 PermitTunnel no
MaxStartups 10:50:20 ShowPatchLevel no

Разберёмся, что и как.

Блок из RhostsRSAAuthentication no , PubkeyAuthentication no , HostbaseAuthentication no , ChallengeResponseAuthentication no , KerberosAuthentication no отключает неиспользуемые методы аутентификации. Безусловно, если вы используете для входа на SSH-сервер, допустим, Kerberos, то отключать Kerberos не нужно. Но в типовом сценарии, когда вход осуществляется более распространёнными способами, лишнее надо в явном виде отключать.

Параметр MaxAuthTries говорит, через сколько попыток неудачной аутентификации (например, ввода неверного пароля) сессия будет отключена сервером. По умолчанию это 6, многовато. Трёх раз хватит.

Командой ShowPatchLevel no мы выключим публикацию детальной информации о версии SSH подключающемуся клиенту.

Теперь перейдём к блоку настроек, связанных с учётными записями.

Группы и пользователи в настройке SSH-сервера

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

AllowUsers admin admin2 AllowGroups nixadmins DenyUsers nginx DenyGroups nginx PermitEmptyPasswords no PermitRootLogin no UsePrivilegeSeparation sandbox

установит минимальную длину паролей на данном устройстве.

Краткий итог

Командную строку (CLI) можно поделить на 4 основных режима управления:

В данном режиме доступен только ограниченный набор show команд. Просмотр всей конфигурации маршрутизатора недоступен (show running-config)
Переход в привилегированный режим:
Переход в режим глобальной конфигурации (осуществляется только из Priv. EXEC):

Переход в специализированные режимы конфигурации осуществляется из режима глобальной конфигурации, например:

1) Режим конфигурации интерфейса F0/0

Для выхода из всех режимов используется команда "exit", либо "end"

2. Имя маршрутизатора

Имя маршрутизатора настраивается через команду "hostname", например:

3. Перезагрузка маршрутизатора

Стандартная перезагрузка маршрутизатора выполняется командой "reload"

Перезагрузка маршрутизатора через заданное время (в примере 1 минута):

Перезагрузка маршрутизатора без распаковки образа из Flash (warm reboot):

Данная конфигурация начнет работать только после выполнения обычной перезагрузки маршрутизатора. Позволяет сэкономить время на перезагрузке маршрутизатора, т.к. загружает уже распакованный образ из RAM (без участия ROMMON).

Для выполнения warm reboot необходимо выполнить команду:

Пароль на привилегированный режим (пароль на enable mode):

2) Enable secret (Пароль хранится в шифрованном (MD5 hash) виде)

Если сконфигурированы оба типа паролей, enable secret всегда имеет преимущество!

3) Enable secret с опциями шифрования (начиная с IOS 15.3(3)M)

Вид паролей в текущей конфигурации маршрутизатора (running-config):
!
enable secret 5 $1$EnW0$3hkuVwrCg2BwszJck9m8H/
enable password class
!
Хеширование открытых паролей (настроенных через ключевое слово password) в текущей конфигурации (type 7 password):

Пароль password 7 в текущей конфигурации:

!
enable secret 5 $1$EnW0$3hkuVwrCg2BwszJck9m8H/
enable password 7 05080A0E325F
!


Задать минимальную длину паролей при их конфигурации (в примере минимальная длина паролей будет составлять 8 символов):

При попытке сконфигурировать новый пароль меньше 8 символов маршрутизатор выдаст предупреждение:

Самый общий тип баннера, отображается при любом типе соединения к маршрутизатору, для всех пользователей


6. Конфигурация интерфейсов

Пример конфигурации IP-адреса на интерфейсе и описания(description):

Сбросить настройки на интерфейсе (вернуть конфигурацию по умолчанию):

Проверка конфигурации на интерфейсе:

"show ip interface brief"
"show interface description"

7. Конфигурация маршрутизатора

1) Сохранение текущей конфигурации в NVRAM (энергонезависимую память):

Аналогичным образом выполняется копирование конфигурации из NVRAM (startup-config), любых файлов с Flash (copy flash:filename tftp:). Для копирования файлов на маршрутизатор или с маршрутизатора всегда действует логика откуда (ftp, tftp, running-config, startup-config, flash:), куда (ftp, tftp, running-config, startup-config). Т.е. копирование конфигурации с TFTP в running-config будет выглядеть следующим образом:

1500 bytes copied in 1.360 secs (1103 bytes/sec)

4) Копирование на FTP сервер:

Создание пользователя и пароля для FTP клиента IOS:

5) Использование Archive функционала

Функционал появился в IOS 12.3(4)T и позволяет управлять конфигурациями маршрутизатора, а также производить логирование (user accounting).



Полная замена текущей конфигурации в running-config:

На самом деле IOS сравнивает конфигурацию с текущей и меняет только то, что отличается, чтобы избежать потенциальной неработоспособности при полной замене конфигурации (в отличие от "copy path: running-config")

Сравнение сохраненной конфигурации и текущей можно выполнить самому:

Добавим IP адрес 192.168.1.1 на интерфейс F1/0 и сравним конфигурации повторно:

Существуют дополнительные полезные опции для команды configure replace:

1) Заходим на маршрутизатор и сохраняем конфигурацию. Конфигурация пишется в archive (если есть опция "write-memory").



2) Заменяем конфигурацию на только что сохраненную, опция "list" позволит проконтролировать, что действительно мы ничего не изменили:


3) У нас есть 10 мин., чтобы безопасно что-либо настраивать удаленно, если все настроили, то необходимо прописать "configure confirm" для подтверждения настроек, если отвалились после неправильной настройки, то через 10 мин маршрутизатор возвратит последнюю рабочую конфигурацию и можно пробовать заново :)

Маршрутизатор предупредит за минуту до автоматического отката конфигурации:

8. Защита IOS и конфигурации (IOS Resilient Configuration)

9. Настройка Console/VTY; Local database маршрутизатора

1) Консоль (Console)

Ограничение времени активного сеанса в консоли (по умолчанию 10 мин, для примера 2 мин. 30 сек.) (аналогично для VTY сессий):

Если по истечении 2 мин 30 сек в консоли не будет никакой активности, маршрутизатор сбросит соединение, необходимо будет вводить пароль на console заново, как при первом подключении.

2) VTY соединения (Telnet/SSH)

Для подключения к маршрутизатору по Telnet протоколу достаточно настроить пароль на enable (enable password или enable secret) и пароль на самой VTY (line vty).

Вывод в терминал работает только пока сессия активна, при повторном подключении необходимо включать "terminal monitor" заново.

По умолчанию все входящие соединения на маршрутизатор разрешены (transport input all)

Можно разрешить только SSH протокол в качестве входящего соединения на маршрутизатор (это рекомендуемая опция):

Можно разрешить входящие соединения только по Telnet (transport input telnet), либо комбинацию SSH+Telnet (transport input ssh telnet)

Команда "transport output" определяет по каким протоколам можно осуществлять исходящие соединения с данного маршрутизатора, в отличие от "transport input" данная команда доступна как для VTY, так и для Console.

Защита VTY от Brute-Force (необходима аутентификация с использованием имени пользователя), пример:

Инициатор соединения будет заблокирован на 60 сек, если в течение 30 сек будут 3 неудачные попытки входа. Работает как с Telnet, так и с SSH.

Отслеживание Telnet сессий (для предотвращения зависших соединений):

При ошибочном вводе команды в консоль, маршрутизатор попытается разрешить имя (т.к. ip domain lookup тоже включен по умолчанию), чтобы зайти на этот хост по Telnet. Естественно у него ничего не получится, но попытка разрешения имени занимает определенное время, что сильно мешает каждый раз, когда что-либо введено в консоль неправильно, что маршрутизатор не признает как свою команду.

Но при попытке взаимодействовать явно с именем, маршрутизатор все еще будет пытаться разрешить это имя:

"transport preferred none" отключает поведение маршрутизатора по умолчанию, при котором он пытается разрешить все неправильно введенные команды (т.к. включен ip domain-lookup) и зайти на удаленный узел по Telnet (transport preferred telnet):

Конфигурация SSH версии 2.0 (Отключение совместимости с ранними версиями SSH):

Проверка работы SSH на локальном маршрутизаторе:

Максимальное время для входа на маршрутизатор по SSH (по умолчанию 120 сек). Если в течение 20 сек. не будет передачи данных к маршрутизатору, соединение будет сброшено.

Ограничение количества попыток (считаются неудачные попытки) входа по SSH:

При 3-ей неудачной попытке входа соединение будет сброшено.

9. Логирование

!
service timestamps debug datetime msec
service timestamps log datetime msec
!

datetime и uptime взаимоисключающие опции!

Настройка логирования через Archive:

Для настройки логирования необходимо включить log в функционале archive и задать необходимые параметры:

Пример:

На маршрутизаторе R1 настроено логирование:

В локальной базе данных заведен пользователь bob:
На маршрутизатор R1 зашел пользователь bob и произвел настройки OSPF протокола:

Смотрим логи на R1:


10. Настройка времени на маршрутизаторе и NTP

Посмотреть время на маршрутизаторе:

Конфигурация времени на маршрутизаторе (необходимо выставлять в UTC+0):

Конфигурация NTP cервера (рекомендуется использовать):

Просмотр конфигурации NTP:
"show ntp status"
"show ntp associations"

Настроить маршрутизатор в качестве NTP сервера:

Опционально можно указать stratum в конце команды (от 1 до 15).

11. Настройка имён(DNS)

Отключить разрешение имен в IP адреса (по умолчанию включено, если есть необходимость использовать маршрутизатор в качестве DNS, то эту опцию нужно оставить включенной):

Зачастую такую конфигурацию используют для того, чтобы маршрутизатор не пытался разрешить ошибочно введенные команды в IP адреса:

Если в на маршрутизаторе необходимо использовать DNS, то лучше пользоваться настройкой "transport preferred none".

Добавить DNS сервер (в примере использован Google DNS):

Это позволяет маршрутизатору перенаправлять DNS запросы, если его указали в качестве DNS сервера (кеширующий DNS).

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 77.37.252.24, timeout is 2 seconds:
.
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/5/12 ms


Проверка работы DNS на ПК (маршрутизатор выступает в качестве DNS сервера):


12. Уровни привилегий пользователей

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

При создании уровня с 2 по 14 пользователь сможет выполнять только команды по умолчанию, которые разрешены для 1-ого уровня, пока ему не будут назначены определенные права на исполнение команд.

Посмотреть текущий уровень привилегий:

Назначить на определенный уровень возможность выполнять определенную команду команду, например:
Составные команды, такие как "configure terminal", будут выглядеть следующим образом в running-config:
!
privilege exec level 10 configure terminal
privilege exec level 10 configure
!

Все уровни выше 10-ого автоматически смогут выполнять эти команды.


Такой подход по назначению уровней привилегий является устаревшим и неудобным. Следующим этапом, позволяющим более точно и удобно настраивать права пользователей на маршрутизаторе, является Role Based Access Control (или просто Parser View).

13. Role-based CLI access (Parser view)

Для работы Parser View на маршрутизаторе необходимо, чтобы был включен AAA, для более старых версий IOS еще и enable secret для перехода в Root View

В относительно старых версиях IOS (до 15.2) все настройки Parser View необходимо было делать из так называемого Root View

Root View может выполнять все команды Privilege level 15, а также создавать View.

Пример создания и настройки Parser View:

View1:

Можно выполнять все show команды кроме show ip route, производить конфигурацию любых интерфейсов (кроме команды shutdown/no shutdown на интерфейсе), производить настройку протоколов маршрутизации (кроме EIGRP, для него почему-то надо добавлять команду отдельно) только используя правило network.

Можно выполнять все show команды, производить конфигурацию любых интерфейсов, только в этом view можно использовать команду shutdown/no shutdown на интерфейсе, можно использовать все команды протоколов маршрутизации.

Из этого-то режима мы и настроим интерфейс для подключения компьютера через telnet: Команда для перехода в режим конфигурации интерфейса FastEthernet 0/0:

По умолчанию все интерфейсы отключены (состояние administratively down). Включаем интерфейс:

shutdown — означает “выключить интерфейс”. Соответственно, если вы хотите отменить действие команды, то используйте слово no перед ней. Это правило общее для CLI и применимо к большинству команд.

Подключаемся. Для этого надо использовать кроссоверный кабель . (Хотя в реальной жизни это зачастую уже необязательно – все карточки умеют понимать приём/передачу, однако встречаются ещё маршрутизаторы, порты которых не поднимаются при использовании неправильного типа кабеля — так что будьте внимательны)

И пробуем подключиться, выбрав Command Prompt в панели Desktop:

Как и ожидалось, циска не пускает без пароля. В реальной жизни обычно выдаёт фразу “Password required, but none set”

Подключение по telnet или ssh называется виртуальным терминалом (vt) и настраивается следующим образом:

0 4 — это 5 пользовательских виртуальных терминалов=telnet сессий. Этого уже достаточно, чтобы попасть в пользовательский режим, но недостаточно для привилегированного:

Чем отличается secret от password? Примерно тем же, чем ssh от telnet. При настройке secret пароль хранится в зашифрованном виде в конфигурационном файле, а password – в открытом. Поэтому рекомендуется использование secret. Если вы всё-таки задаёте пароль командой password , то следует применить так же service password-encryption , тогда ваш пароль в конфигурационном файле будет зашифрован:

Один мой знакомый рассказал мне историю: Стоял он как-то курил возле одного из своих узлов, находящемся в жилом доме. С сумкой для инструментов, ноутбук в руках. Вдруг подходит двое алкашей с пакетом и предлагают купить, раскрывая пакет и показывая какой-то свич. Просят 500 рублей. Ну он купил. По меткам и модели свича парень сделал вывод какому провайдеру он принадлежит. Пришёл домой, начал ковырять — телнет закрыт, консоль запаролена. Слил конфиг по snmp. Пароли в открытом виде хранятся, имя с головой выдаёт провайдера. С их админом он знаком лично, позвонил ему вместо “Здрасьти” выдал логин и пароль в трубку. Слышно было, как скрипел мозг первые секунд 20: везде аксес-листы, авторизация, привязка к мак-адресу. Как?! В общем, всё хорошо, что хорошо кончается.

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

Первая команда служит для активации новой модели ААА (Authentication, Authorization, Accounting). Это нужно для того, чтобы была возможность использовать для аунтетификации на устройстве RADIUS или TACACS сервер. Если отдельно это не настроено, то будет использоваться локальная база пользователей, задаваемая командой username .

Будьте внимательны : приоритет команды aaa new-model выше, чем команд виртуальных терминалов и поэтому даже несмотря на то, что у вас настроен password в режиме line vty, если у вас не будет пользователей в локальной базе, зайти на устройство удалённо уже не получится.

Теперь при подключении маршрутизатор запросит имя пользователя и соответствующий ему пароль.

Если вы хотите ограничить паролем доступ через консольный порт, вам понадобятся команды

Как включить SSH сервер на коммутаторе Cisco Catalyst с IOS v.15


Имеем коммутатор Cisco Catalyst с включенным Telnet и заданными паролями «Virtual terminal password» и «Enable secret». Для улучшения уровня безопасности при администрировании коммутатора, нам требуется включить встроенный сервер SSH и исключить возможность используемого по умолчанию Telnet. Обратите внимание на то, что включение SSH возможно не во всех версиях Cisco IOS.

Подключаемся к коммутатору через Telnet, указав пароль «Virtual terminal password»:

Повышаем привелегии до уровня администратора командой enable:

Чтобы задействовать поддержку SSH, нам потребуется выполнить генерацию ключевой пары RSA. Однако для возможности генерации ключей предварительно потребуется настроить имя хоста, имя домена и синхронизацию времени.

…затем задаём имя домена…

Если время в IOS не настроено, то при попытке генерации ключей RSA, которую мы будем в дальнейшем придпринимать, мы можем получить ошибку « % Rsa keys cannot be generated, as system clock is invalid ». Итак, настраиваем синхронизацию времени.

Как видно, на нашем коммутаторе часы не настроены и показывают неверное время. Настроим синхронизацию времени с NTP-серверов, расположенных в нашей локальной сети:

Здесь мы указали местную временную зону (Московское время, со сдвигом +3 часа от UTC) и задали в качестве источника времени два NTP-сервера, один из которых (с опцией prefer ) является приоритетным. Через несколько секунд часы нашего коммутатора должны отображать правильное время:

Проверить статус синхронизации можно следующим образом:

Проверить состояние источников синхронизации времени можно так:

Теперь всё готово для того, чтобы сгенерировать ключевую пару RSA.

Теперь встроенный в IOS SSH сервер готов принимать подключения. Если планируется использовать подключение с использованием локальной учётной записи, то можем её создать:

Запрещаем Telnet и оставляем только SSH для виртуальных терминалов vty с 0 по 15

Разрешаем использование локальных учётных записей в конфигурации виртуальных терминалов

В конце не забываем сохранять рабочую конфигурацию на флэш, чтобы она восстановилась после выключения коммутатора.

Дополнительные источники информации:

Проверено на следующих конфигурациях:

Модель коммутатора Версия IOS
Cisco Catalyst WS-2960X-48TD-L V05 15.2.2E7
Cisco Catalyst WS-C3560X-48T-L V05 15.2.4E8


Автор текущей редакции:
Алексей Максимов
Время публикации: 13.01.2018 23:01

Читайте также: