Удалённое выполнение команд на Mikrotik через SSH, используется для управления правилами шейпера и фаервола.
Установка ключа с помощью API через вебформу
Для выполнения команд нужно создать SSH сертификат с пустым паролем и залить его на Mikrotik по ftp.
Перед созданием сертификата убедитесь что на Mikrotik'е включён сервис ftp.
Создание сертификата
Создайте сертификат с пустым паролем (для дальнейшего управления микротиком)
# /usr/abills/misc/certs_create.sh ssh acp_kazna_39 -UPLOAD_FTP admin@10.20.1.1
Не используйте пользователя 'admin'. Для удалённого доступа создайте отдельного пользователя.
Создание пользователя
[admin@mikrotik]> user add name=acp_kazna_39 group=write password='пароль'
Пароль используется при работе по Mikrotik API, не забудьте вписать его в настройках сервера доступа.
Подключите SSH ключ пользователю
[admin@mikrotik]> user ssh-keys import public-key-file=id_rsa.acp_kazna_39.pub user=acp_kazna_39
Проверяем:
% ssh -l acp_kazna_39 -i /usr/abills/Certs/id_rsa.acp_kazna_39 10.20.1.1 "/system identity print"
если все правильно, результат выглядит примерно вот так
name: "BRAS 01"
если у вас спрашивает пароль, повторите внимательнее.
Создание и загрузка ключа через mikrotik_hotspot.pl
Внутри mikrotik_hotspot.pl уже есть процедура заливки ключа
# /usr/abills/Abills/modules/Hotspot/mikrotik_hotspot.pl IP_ADDRESS=192.168.0.12 UPLOAD_KEY=y