Темы
Предварительная настройка
Генерируем ключи
Установка авторизованного RSA-ключа для SSH
Удаление паролей
Отключить пароли полностью
Авторизация по ключу может быть недоступна для IOS версии ниже 15 Перед созданием ключей нужно задать имя маршрутизатора/коммутатора (если ещё не задано) или сменить его (если есть такая потребность). А так же указать доменное имя
Код: Выделить всё
Router#configure terminal
Router(config)#hostname gw1
gw1(config)#ip domain-name corp.ruКод: Выделить всё
configure terminal
line vty 0 4
transport input ssh
transport output sshСоздаём пару RSA-ключей (секретный и публичный) на машине с которой требуется организовать доступ, если это нужно
Код: Выделить всё
ssh-keygen -t rsa -b 2048 -q -C "$(whoami)@$(hostname)-$(date -I)" -N '' -f ~/.ssh/testКод: Выделить всё
function SSH-AGENT() {
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/test
}
SSH-AGENTe ~/.ssh/config
Код: Выделить всё
Host *
AddressFamily inet
Protocol 2
Compression yes
ForwardAgent yes
ForwardX11Trusted no
GSSAPIAuthentication no
PreferredAuthentications=publickey,password
Host gns
HostName gns.free-adm.ru
User root
Host corp.ru
HostName gns.free-adm.ru
Port 2222
User rootПросмотр списка имеющихся RSA-ключей на оборудовании CISCO
Код: Выделить всё
show run | section sshКод: Выделить всё
conf t
ip ssh pubkey-chain
username root
no key-hash ssh-rsa A90A7FDB040EADC860B5D22A5C04D0F8 root@google.locКод: Выделить всё
conf t
crypto key zeroize rsaКод: Выделить всё
ssh-keygen -l -f ~/.ssh/test.pubПеред тем как добавлять публичный ключ его необходимо подготовить к импорту на CISCO. Для этого нужно строку публичного ключа разбить на группу строк по 70 символов в строке.
fold -b -w 70 test.pub
Код: Выделить всё
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+acy/uOSzQjBSwI7mz8eXd8T/+pFkOe
LlYvQ+O2aVNqZzg8R9eOPjnF0FzcnovMnoWQcjRDmXy69hMhqfRq3yPtnMvT++v+Si0OR5
QUyRvf/R8sS4ouGRaaoxjb+WPfvKYJL2GQC5e708ys3P64/Gp4loTdYLLjwHfTxm8S0Vfy
5HHqFvB9jLvC2kfhJI4iZcBtmt7m2L+Q2z63YqirqvJTOX3kc0TKa+6TxyaM6ta1JShAd1
5mXeIMC+en0LduzovY/HN5c1hfZ3Bbz58LdGSdyMN96mudtMYn+0CzumrLd4VpnUuU0/X8
8lzjcnITZyJ0fJkQLEJigXEX2rPlzh root@sergey.free-adm.ru-2020-01-09Код: Выделить всё
conf t
ip ssh pubkey-chain
username root
key-string
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+acy/uOSzQjBSwI7mz8eXd8T/+pFkOe
LlYvQ+O2aVNqZzg8R9eOPjnF0FzcnovMnoWQcjRDmXy69hMhqfRq3yPtnMvT++v+Si0OR5
QUyRvf/R8sS4ouGRaaoxjb+WPfvKYJL2GQC5e708ys3P64/Gp4loTdYLLjwHfTxm8S0Vfy
5HHqFvB9jLvC2kfhJI4iZcBtmt7m2L+Q2z63YqirqvJTOX3kc0TKa+6TxyaM6ta1JShAd1
5mXeIMC+en0LduzovY/HN5c1hfZ3Bbz58LdGSdyMN96mudtMYn+0CzumrLd4VpnUuU0/X8
8lzjcnITZyJ0fJkQLEJigXEX2rPlzh root@sergey.free-adm.ru-2020-01-09
exit
endВы можете удалить пароли пользователей в конфигурации; это заставит этих пользователей использовать аутентификацию по ключу ssh. Если этим людям требуются права администратора, им все равно нужно будет знать пароль от режима enable, или их логин может перенаправить непосредственно в enable-режим:
Код: Выделить всё
username root privilege 15Если вы хотите полностью отключить аутентификацию по паролю через ssh, но оставить пароли в учетных записях пользователей для других целей (например, для доступа к консоли), используйте:
Код: Выделить всё
no ip ssh server authenticate user password
no ip ssh server authenticate user keyboard