User Tools

Site Tools


flyrouter:sshkey

Как организовать SSH авторизацию по ключам ?

Довольно часто возникает необходимость авторизироваться на роутере в автоматическом режиме, без ввода каких-либо дополнительных данных (сохранение и восстановление конфигурационных файлов и т.д.). Для этого необходимо создать парные ключи - приватный и публичный. Приватный ключ должнен находиться на том компьютере, с которого осуществляется соединение, а публичный - на роутере.

Создайте пару ключей на роутере выполнив следующие команды:

cd /tmp
dropbearkey -t rsa -f fly-private.key | sed -n '/ssh/p' > fly-public.key

Публичные ключи хранятся на роутере в файле /etc/dropbear/authorized_keys. В каждой строке этого файла может находиться отдельный ключ. Скопируйте (добавьте) созданный публичный ключ в этот файл и установите жесткие права доступа к нему:

cat /tmp/fly-public.key >> /etc/dropbear/authorized_keys
chmod 600 /etc/dropbear/authorized_keys

Скопируйте приватный ключ на компьютер, с которого будет осуществляться вход на роутер. Для этого можно воспользоваться командой scp которая работает по протоколу защищенного копирования файлов (тот-же ssh). Вторым параметром укажите имя пользователя (admin), IP адрес или доменное имя компьютера (myserver), путь и имя файла (/home/admin/.ssh/fly-private.key). Как правило, приватные ключи хранятся в домашнем каталоге пользователя в служебной папке .ssh :

scp /tmp/fly-private.key admin@myserver:/home/admin/.ssh/fly-private.key

После этого сохраните настройки и перезагрузите роутер:

flash save
reboot

Попробуйте зайти на роутер с компьютера, используя приватный ключ:

ssh root@myrouter -i /home/admin/.ssh/fly-private.key

Как правило, при первом подключении к роутеру, поступит запрос на принятие ключа. Принятые сессионные ключи хранятся на роутере в файле /root/.ssh/known_hosts. Для того, что-бы это не повторялось, сделайте повторно flash save на роутере и перезагрузите его.

flyrouter/sshkey.txt · Last modified: 2018/04/09 15:36 (external edit)