Я пытаюсь разрешить 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 и использовать его вместо генерации собственного.

1 ответ1

1

Поместите ваш открытый ключ в /etc/dropbear/authorized_keys

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .