Cisco-ssh-key-auth: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 49: Строка 49:
 
ASR1001-lab(config)
 
ASR1001-lab(config)
 
</PRE>
 
</PRE>
  +
  +
В зависимости от модели устройства (и версии иос?) эта команда <code>crypto key generate rsa</code> может запускаться из режима конфигурирования (например так на catalyst 4948e)
   
 
===Включить вторую версию протокола ssh ===
 
===Включить вторую версию протокола ssh ===

Версия 17:52, 16 октября 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)

Включить вторую версию протокола 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