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

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
 
(нет различий)

Текущая версия на 15:56, 17 июня 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

Этот шаг по моему опыту не обязательный

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)

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


Конфиг 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