SSH-вход без паролей на основе открытого ключа на маршрутизаторе с прошивкой Asus Merlin

1518
noseratio

Я пытаюсь разрешить SSH-вход без пароля на домашнем маршрутизаторе ASUS RT-AC68U, на котором установлена ​​прошивка Asuswrt-Merlin 384.4_2 (самая последняя на момент публикации). Прочитав много постов и инструкций (включая этот ), я все еще не могу заставить его работать.

Я использую PUTTYGEN для генерации пары ключей RSA-2048, сохраняю открытый ключ на ~/.ssh/authorized_keysмаршрутизаторе, затем пытаюсь соединиться с PUTTY, который я ограничил только RSA. Когда PUTTY согласовывает шифрование сеанса, он предлагает принять открытый ключ, предоставленный сервером. Я ожидаю, что это будет мой ключ от, ~/.ssh/authorized_keysно вместо этого я всегда вижу собственный открытый ключ Dropbear (с /etc/dropbear/dropbear_rsa_host_key). Я знаю, что это тот, кто бежит dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key.

Разрешение для ~/.sshпапки установлено на 700, для ~/.ssh/authorized_keysна 600. Ключ сохраняется через веб-интерфейс маршрутизатора в правильном формате (то есть ssh-rsa AAAA...5iYw== rsa-key-20180401без разрывов строк). Я пробовал оба rootи adminкак пользователь SSH. Я также попробовал все с нуля, после сброса роутера до заводских настроек, с тем же результатом.

Я что-то пропустил? На данный момент, я думаю, что мой единственный вариант - извлечь закрытый ключ Dropbear /etc/dropbear/dropbear_rsa_host_keyи использовать его вместо генерации собственного.

0
Извлечение закрытого ключа для ушей не поможет. Рассматривали ли вы мигать Конг ДД-WRT. Добавление ваших открытых ключей через веб-интерфейс тривиально. davidgo 6 лет назад 0
@ davidgo, я не пробовал dd-wrt, но я попытался извлечь закрытый ключ dropbear и использовать его с putty, и он действительно работает. Просто не рад, что закрытый ключ живет в самом роутере. noseratio 6 лет назад 0

1 ответ на вопрос

1
Timmy Browne

Вставьте свой открытый ключ в /etc/dropbear/authorized_keys

редактировать:

Первоначально я думал, что dropbear не читает, ~/.sshхотя должен, поэтому я указал каталог по умолчанию /etc/dropbear/. authorized_keysне там по умолчанию, так что это не так очевидно.

Перечитывая вопрос, я понял, что вы путаете пары ключей хоста с парами ключей входа.

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

Я попробовал это, и это игнорируется. Я убил и перезапустил процесс dropbear в надежде, что он поднимет его. Я также попытался удалить все «ключи dropbear *», тот же результат. noseratio 6 лет назад 0
Читая ваш вопрос, похоже, вы не принимаете ключ хоста серверов dropbear. Это верно? Ваша пара ключей входа в систему отличается от пары ключей хоста. Если я все еще не понимаю, вы должны принять открытый ключ хоста и войти в систему без пароля через ваш открытый ключ на хосте в качестве авторизованного ключа. Timmy Browne 6 лет назад 1
вот и все, спасибо! Ранее открытый ключ хоста кэшировался замазкой, думаю, однажды я его принял и сохранил. Потом я забыл, что это законная часть последовательности аутентификации, и скорее всего ожидал, что мой ключ будет там первым. Теперь чувствую себя довольно глупо :) Если вы отредактируете свой ответ и добавите свой комментарий, я буду рад принять его. noseratio 6 лет назад 0
классно. Рад, что смог помочь. не чувствую себя глупым, я делаю такие вещи для себя каждый день, это всегда очевидно, когда кто-то другой делает это: D Timmy Browne 6 лет назад 1

Похожие вопросы