Использование SSH Pubkey авторизации на роутерах irzOS

#irzOS #роутеры

Использование SSH с авторизацией по ключу общепризнанно считается более безопасным, чем авторизация по паролю.

Один ключ может использоваться для авторизации (в том числе неинтерактивной) на неограниченном количестве устройств, однако при любой операции сброса настроек потребуется повторная установка ключа на роутер.

В этой инструкции описано как настроить такой метод авторизации на irzOS.

  1. Создайте закрытый и открытый ключ (на примере командной строки ОС Linux).

    Выполните команду:

    ssh-keygen -t ecdsa -C "your_email@example.com"
  2. Укажите место расположение ключа. По умолчанию для алгоритма ecdsa – это файл в каталоге .ssh в домашнем каталоге пользователя, например, /home/username/.ssh/id_ecdsa

    Каталог и имя файла можно указать иные.

  3. Укажите парольную фразу для пароля для дополнительной безопасности (можно не указывать), после чего ключи будут сформированы и сохранены.

    В нашем случае в каталоге ~/.ssh/ (ссылка-синоним на /home/username/.ssh/) созданы файл id_ecdsa (закрытый ключ) и id_ecdsa.pub (публичный ключ).

  4. Загрузите файл с публичным ключом на роутер с irzOS командой:

    scp ~/.ssh/id_ecdsa.pub admin@192.168.1.1:

    где 192.168.1.1 – внутренний адрес роутера по умолчанию.

  5. Зайдите на роутер:

    ssh admin@192.168.1.1
  6. Если ключ настраивается для встроенного пользователя admin, то примените команду:

    /system user admin import-ssh-key file=id_ecdsa.pub
    /system user admin apply
    
    /system config commit

    В противном случае сначала создайте пользователя и настройте его уровень доступа, например, пользователя username c правами администратора:

    /system user add name=username
    /system user username level administrator

    И импортируйте для него ключ.

  7. Выйдите из роутера командой exit и войдите снова командой:

ssh admin@192.168.1.1

Если была задана парольная фраза для файла ключа – она будет запрошена у пользователя, в противном случае сразу станет доступна консоль irzOS.

При смене компьютера файл с ключом не будет доступен, вход по паролю на роутере будет доступен как запасной вариант входа. Отключить вход по паролю нельзя.

Сгенерировать и сохранить ключ возможно с помощью PuTTygen. Однако роутеру необходим публичный ключ в формате OpenSSH, который нужно скопировать и самостоятельно сохранить в текстовый файл с расширением .pub. А затем данный файл загрузить на роутер.

pubkey