Cisco-ssh-key-auth: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) (→2) |
Sirmax (обсуждение | вклад) |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
[[Категория:Cisco]] |
[[Категория:Cisco]] |
||
− | [[Категория: |
+ | [[Категория:SSH]] |
=Авторизация на роутере по ключу= |
=Авторизация на роутере по ключу= |
||
Строка 23: | Строка 23: | ||
</PRE> |
</PRE> |
||
===ip domain-name=== |
===ip domain-name=== |
||
− | Этот шаг по моему опыту |
+ | Этот шаг по моему опыту обязательный - без него будет ошибка |
+ | <PRE> |
||
+ | % Please define a domain-name first. |
||
+ | </PRE> |
||
+ | |||
<PRE> |
<PRE> |
||
ip domain-name home.net |
ip domain-name home.net |
||
Строка 31: | Строка 35: | ||
ip domain name home.net |
ip domain name home.net |
||
</PRE> |
</PRE> |
||
− | |||
===Сгенерировать ключ=== |
===Сгенерировать ключ=== |
||
Строка 45: | Строка 48: | ||
ASR1001-lab(config) |
ASR1001-lab(config) |
||
+ | </PRE> |
||
+ | |||
+ | В зависимости от модели устройства (и версии иос?) эта команда <code>crypto key generate rsa</code> может запускаться из режима конфигурирования (например так на catalyst 4948e) |
||
+ | <BR> |
||
+ | Если ключи короче 2048 - то может возникать ошибка (я проверял только на свитче) |
||
+ | <PRE> |
||
+ | ssh_dispatch_run_fatal: Connection to 10.72.0.254 port 22: Invalid key length |
||
+ | </PRE> |
||
+ | Решается перегенерацией ключа |
||
+ | <PRE> |
||
+ | conf t |
||
+ | crypto key zeroize rsa |
||
+ | crypto key generate rsa modulus 2048 |
||
+ | end |
||
</PRE> |
</PRE> |
||
Строка 99: | Строка 116: | ||
</PRE> |
</PRE> |
||
+ | не забыть ключевое слово <code>exit</code> в конце ключа |
||
==Конфиг ssh== |
==Конфиг ssh== |
||
Строка 107: | Строка 125: | ||
HostKeyAlgorithms=+ssh-dss,ssh-rsa |
HostKeyAlgorithms=+ssh-dss,ssh-rsa |
||
KexAlgorithms=+diffie-hellman-group1-sha1 |
KexAlgorithms=+diffie-hellman-group1-sha1 |
||
+ | </PRE> |
||
+ | |||
+ | Этот конфиг реашет следующие ошибки |
||
+ | <PRE> |
||
+ | Unable to negotiate with 10.72.0.50 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 |
||
+ | </PRE> |
||
+ | <PRE> |
||
+ | Unable to negotiate with 10.72.0.50 port 22: no matching host key type found. Their offer: ssh-rsa |
||
</PRE> |
</PRE> |
Текущая версия на 17:02, 22 октября 2024
Авторизация на роутере по ключу
Отформатировать ключ в нужный формат
Хотя однострочный ключ несомненно валидный - но на железке есть ограничение на длинну строки и удобнее ключ порезать на строки, и оставить только собственно сам ключ
cat ~/.ssh/id_rsa_local.pub | awk '{ print $2 }' | fold -b -w 72
AAAAB3NzaC1yc2EAAAADAQABAAABAQC5EIrDnnxNBQavZcxiaHCzt0tjtfW0nNuFAz9f+fs4 <skipped> OgFxI0CWHUTIcjLD6d3np534zONNxjxsrUz5MBROPUQYOT9y3m9RDBXJVhdvk7V7lTzFYsrT rsJy+gu0pTCL
Настройка роутера
Установить hostname
Router(config)#hostname R1
ip domain-name
Этот шаг по моему опыту обязательный - без него будет ошибка
% Please define a domain-name first.
ip domain-name home.net
или
ip domain name home.net
Сгенерировать ключ
где он хранится я не знаю
crypto key generate rsa modulus 2048 % You already have RSA keys defined named ASR1001-lab.web. % They will be replaced. % The key modulus size is 2048 bits % Generating 2048 bit RSA keys, keys will be non-exportable... [OK] (elapsed time was 1 seconds) ASR1001-lab(config)
В зависимости от модели устройства (и версии иос?) эта команда crypto key generate rsa
может запускаться из режима конфигурирования (например так на catalyst 4948e)
Если ключи короче 2048 - то может возникать ошибка (я проверял только на свитче)
ssh_dispatch_run_fatal: Connection to 10.72.0.254 port 22: Invalid key length
Решается перегенерацией ключа
conf t crypto key zeroize rsa crypto key generate rsa modulus 2048 end
Включить вторую версию протокола ssh
ip ssh version 2
Настроить линии
line vty 0 4 transport input ssh login local
Ну и пример
line con 0 timeout login response 300 authorization exec LOCAL-AUTHORIZATION login authentication LOCAL-AUTH stopbits 1 line aux 0 stopbits 1 line vty 0 4 exec-timeout 0 0 authorization exec LOCAL-AUTHORIZATION transport input telnet ssh line vty 5 97 exec-timeout 0 0 authorization exec LOCAL-AUTHORIZATION transport input telnet ssh
Отключение паролей (по желанию)
no ip ssh server authenticate user password no ip ssh server authenticate user keyboard
Прописать ключ
ASR1001-lab(config)#ip ssh pubkey-chain ASR1001-lab(conf-ssh-pubkey)#usernam ASR1001-lab(conf-ssh-pubkey)#username sirmax ASR1001-lab(conf-ssh-pubkey-user)#key-string ASR1001-lab(conf-ssh-pubkey-data)#AAAAB3NzaC1yc2EAAAADAQABAAABAQC5EIrDnnxNBQavZcxiaHCzt0tjtfW0nNuFAz9f+fs4 ASR1001-lab(conf-ssh-pubkey-data)#dL0/3wTbDCWO1l2tahTlupM8r/Tm4Sq20Gsrndl37zEFoqFZG42m1COuEMBgppl4er0cetlZ ASR1001-lab(conf-ssh-pubkey-data)#V0qeKfcKQ0xXlZUE1LMJwQoBqAFl4QJ6g25PSPESJxd3wQ1RUfjvJ9kvW8c4sLHD0MjLAmX+ ASR1001-lab(conf-ssh-pubkey-data)#VjFlbqNtM1l3uAIMc17RP4B2u4s2FqoyCjg9IxcGlL364FOWJZdHjFaBJvg1k4zo+WzSA2Yt ASR1001-lab(conf-ssh-pubkey-data)#OgFxI0CWHUTIcjLD6d3np534zONNxjxsrUz5MBROPUQYOT9y3m9RDBXJVhdvk7V7lTzFYsrT ASR1001-lab(conf-ssh-pubkey-data)#rsJy+gu0pTCL ASR1001-lab(conf-ssh-pubkey-data)#exit
не забыть ключевое слово exit
в конце ключа
Конфиг ssh
Host asr1001 SendEnv LANG LC_* Ciphers +aes256-cbc HostKeyAlgorithms=+ssh-dss,ssh-rsa KexAlgorithms=+diffie-hellman-group1-sha1
Этот конфиг реашет следующие ошибки
Unable to negotiate with 10.72.0.50 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
Unable to negotiate with 10.72.0.50 port 22: no matching host key type found. Their offer: ssh-rsa