This shows you the differences between two versions of the page.
flyrouter:sshkey [2018/04/09 15:36] |
flyrouter:sshkey [2018/04/09 15:36] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Как организовать SSH авторизацию по ключам ? ===== | ||
+ | |||
+ | Довольно часто возникает необходимость авторизироваться на роутере в автоматическом режиме, без ввода каких-либо дополнительных данных (сохранение и восстановление конфигурационных файлов и т.д.). Для этого необходимо создать парные ключи - приватный и публичный. Приватный ключ должнен находиться на том компьютере, с которого осуществляется соединение, а публичный - на роутере.\\ | ||
+ | |||
+ | Создайте пару ключей на роутере выполнив следующие команды: | ||
+ | <code> | ||
+ | cd /tmp | ||
+ | dropbearkey -t rsa -f fly-private.key | sed -n '/ssh/p' > fly-public.key | ||
+ | </code> | ||
+ | |||
+ | Публичные ключи хранятся на роутере в файле **/etc/dropbear/authorized_keys**. В каждой строке этого файла может находиться отдельный ключ. Скопируйте (добавьте) созданный публичный ключ в этот файл и установите жесткие права доступа к нему: | ||
+ | <code> | ||
+ | cat /tmp/fly-public.key >> /etc/dropbear/authorized_keys | ||
+ | chmod 600 /etc/dropbear/authorized_keys | ||
+ | </code> | ||
+ | |||
+ | Скопируйте приватный ключ на компьютер, с которого будет осуществляться вход на роутер. Для этого можно воспользоваться командой **scp** которая работает по протоколу защищенного копирования файлов (тот-же ssh). Вторым параметром укажите имя пользователя (admin), IP адрес или доменное имя компьютера (myserver), путь и имя файла (/home/admin/.ssh/fly-private.key). Как правило, приватные ключи хранятся в домашнем каталоге пользователя в служебной папке .ssh : | ||
+ | <code> | ||
+ | scp /tmp/fly-private.key admin@myserver:/home/admin/.ssh/fly-private.key | ||
+ | </code> | ||
+ | |||
+ | После этого сохраните настройки и перезагрузите роутер: | ||
+ | <code> | ||
+ | flash save | ||
+ | reboot | ||
+ | </code> | ||
+ | |||
+ | Попробуйте зайти на роутер с компьютера, используя приватный ключ: | ||
+ | <code> | ||
+ | ssh root@myrouter -i /home/admin/.ssh/fly-private.key | ||
+ | </code> | ||
+ | |||
+ | Как правило, при первом подключении к роутеру, поступит запрос на принятие ключа. Принятые сессионные ключи хранятся на роутере в файле **/root/.ssh/known_hosts**. Для того, что-бы это не повторялось, сделайте повторно **flash save** на роутере и перезагрузите его. | ||