пятница, 5 июня 2020 г.

Rancid: ошибка "no matching cipher found"

В одной организации активно используется программа Rancid.Это штука сильно облегчает заход на сетевые устройства по SSH. Вместо того чтобы помнить все имена и пароли можно ввести команду "clogin IP_сетевого_устройства" и спустя несколько секунд ты на консоли этого маршрутизатора, коммутатора и т.д.
И вот установили новый маршрутизатор. Его IP адрес, имя и пароль уже настроен в  рансиде. Статья не об этом, поэтому описывать процесс не буду. Но при попытку зайти на консоль маршрутизатора получаем сообщение:
rancid@linux-routers:~$ clogin 192.168.10.10
192.168.10.10
spawn ssh -c 3des -x -l admuser 192.168.10.10
no matching cipher found: client 3des-cbc server aes128-ctr,aes192-ctr,aes256-ctr

Error: Couldn't login: 192.168.10.10

Судя по нему метод шифрования 3DES, который пытается использовать рансид, маршрутизатор не понимает.
Причиной ошибки стало то, что последние версии IOS (операционная система Cisco- устройств, не путать с эппловской операционкой) больше не поддерживают по умолчанию шифрование 3DES. А rancid по умолчанию использует именно его. Для решения проблемы надо дать понять рансиду какие протоколы шифрования надо использовать. Причем так, чтобы поддерживались как старые устройства понимающие 3DES так и новые, понимающие AES. Для решения проблемы в домашнем каталоге rancid надо в скрытый файл .cloginrc добавить строку:
add cyphertype * 3des-cbc,aes128-ctr,aes192-ctr,aes256-ctr
Тут указывается какое шифрование надо использовать. Методы шифрования я выбрал по следующему принципу. Выше приводился текст ошибки. Из четвертой строки видно, что rancid понимает 3des-cbc, а сетевое устройство понимает aes128-ctr,aes192-ctr и aes256-ctr. И я просто объединил все четыре.

Комментариев нет:

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