Фиксируется она просто – для Cisco IOS это будет команда:
atraining(config)#
ip ssh version 2
Если на данный момент вы ещё не создали ни одной ключевой пары, пригодной для работы SSHv2, то будет примерно такое сообщение:
Please create RSA keys to enable SSH (and of atleast 768 bits for SSH v2).
Это не страшно, разве что заметим, что у SSHv2 есть "нижние" требования по длине ключа в ключевой паре. Впрочем, мы не будем пытаться создать ключи, не подпадающие под это ограничение – времена, когда например 512ти битовые ключи RSA активно использовались, ушли.
Если ключи ещё не созданы, то делается это просто:
atraining(config)#crypto key generate rsa modulus 2048 label SSH_KEYS
Параметры несложны – rsa задаст алгоритм (в новых IOS добавляется вариант ec), modulus – битовую длину (можете выставить её в 4096, так будет, безусловно, безопаснее), метка label – чтобы создать "именованную для конкретного назначения" ключевую пару.
В ряде версий Cisco IOS есть ограничение на хранимые ключевые пары – до 10 на устройство и до 2 на пользователя – поэтому может быть выведено предупреждение типа "внимание, новая ключевая пара затрёт предыдущую". Отслеживайте это.
Теперь скажем SSH, чтобы он использовал именно эту пару:
atraining(config)#ip ssh rsa keypair-name SSH_KEYS
Если всё ОК, нам выведется примерно такое:
%SSH-5-DISABLED: SSH 2.0 has been disabled %SSH-5-ENABLED: SSH 2.0 has been enabled
Это будет обозначать, что переключение с "какие попало ключи" на "явно указанная пара" произошло успешно.
Если нам надо также сообщить, что к данному устройству должны подключаться только используя SSH, а не telnet, например, то это делается следующим образом – вначале заходим в режим конфигурирования VTY:
atraining(config)#line vty 0 5
(или line vty 0 15 – зависит от модели)
и явно указываем, что входящие подключения должны быть исключительно по SSH:
atraining(config-line)#transport input ssh
Фиксируем в Cisco IOS использование RSA для host identification
У Cisco это будет просто:
atraining(config)#ip ssh server algorithm hostkey ssh-rsa