Как действовать, когда Android требует RSA‑ключ ADB

Краткий ответ: Android просит RSA‑ключ, чтобы подтвердить публичный ключ ADB компьютера — это механизм доверия. Чтобы заново авторизовать ПК, удалите/сбросьте ключи на обоих сторонах: в настройках устройства «Отозвать разрешения отладки» и файлы adbkey/adbkey.pub в ~/.android на ПК, затем подключитесь и подтвердите диалог.

Если в первые 200 символов нужен практический совет — делайте сброс доверия на телефоне и удаляйте adbkey на компьютере, затем переподключайтесь.

Что такое ADB‑ключ и зачем он нужен

ADB использует пару криптографических ключей (private/public) на компьютере. При установке соединения телефон сравнивает публичный ключ с собственным списком доверенных ключей и показывает диалог «Разрешить отладку по USB?» с RSA‑отпечатком. После подтверждения (и отметки «Всегда разрешать…») ключ добавляется в список доверенных и дальнейшие подключения от этого ПК не требуют подтверждения.

Если приватный ключ на ПК удалён или заменён, или если вы нажали «Отозвать разрешения» на устройстве, телефон перестанет доверять — в adb появится статус unauthorized.

Где хранятся ключи и как понять, что сломалось

Где находятся ключи на ПК:

  • Windows: C:\Users<username>.android\adbkey и adbkey.pub
  • macOS / Linux: ~/.android/adbkey и adbkey.pub

Если эти файлы удалены, ADB сгенерирует новую пару при старте — для телефона это другой компьютер, поэтому появится запрос подтверждения.

Где хранится доверие на Android:

  • В «Параметрах разработчика» есть кнопка «Отозвать разрешения отладки по USB» — она удаляет все доверенные публичные ключи.

Диагностика базовая:

  1. Подключите устройство по кабелю, откройте терминал и выполните: adb kill-server adb start-server adb devices
  2. Статусы:
    • device — всё в порядке;
    • unauthorized — устройство видит ADB, но не доверяет;
    • отсутствует в списке — проблема с кабелем, драйвером или отладкой выключена.

Пошаговая инструкция: как полностью заново авторизовать компьютер

  1. Проверьте настройки разработчика на устройстве:
    • Включите «Отладка по USB».
    • При наличии — временно активируйте дополнительные опции безопасности отладки.
  2. Сбросьте доверие на устройстве:
    • «Параметры разработчика» → «Отозвать разрешения отладки по USB».
    • Отключите кабель, перезагрузите устройство (рекомендуется).
  3. На компьютере завершите процессы, использующие ADB (IDE, эмуляторы), затем: adb kill-server
  4. Удалите ключи в папке .android:
    • Windows: удалите C:\Users<username>.android\adbkey и adbkey.pub
    • macOS / Linux: удалите ~/.android/adbkey и ~/.android/adbkey.pub После следующего запуска ADB появится новая пара ключей.

Не удаляйте другие файлы в .android без необходимости (config, cache и т.п.), чтобы не потерять настройки среды.

  1. Подключите устройство хорошим USB‑кабелем, выберите режим передачи данных (MTP), выполните: adb start-server adb devices На телефоне должен появиться диалог «Разрешить отладку по USB?» — подтвердите и отметьте «Всегда разрешать для этого компьютера».
  2. Если dialog не появляется, проверьте:
    • Экран разблокирован (диалог не показывается на заблокированном экране).
    • Закрыты все эмуляторы/виртуальные ADB‑клиенты.
    • Попробуйте другой порт и кабель.
    • На некоторых прошивках проверьте дополнительные настройки безопасности/приватов.

Частые ошибки

  • Не тот ADB в PATH: на машине может быть несколько установок ADB (Android Studio, standalone SDK) — используйте одну.
  • Кабель только для зарядки: некоторые кабели не поддерживают передачу данных.
  • Экран заблокирован: диалог не появится.
  • MDM/корпоративная политика блокирует сохранение ключей — восстановить доверие может только администратор.
  • Удаление неверных файлов из .android — потеря настроек среды.

FAQ

  • Q: Почему adb показывает unauthorized, хотя я нажал «Разрешить»?
    A: Возможно, ключи на устройстве не сохраняются (MDM/баг прошивки) или ADB на ПК использует другую пару ключей. Повторите удаление adbkey и сброс доверия на телефоне.

  • Q: Можно ли вручную проверить отпечаток ключа?
    A: Да — файл adbkey.pub содержит публичный ключ; при желании можно вычислить отпечаток и сравнить с показанным на устройстве, но для большинства случаев достаточно подтвердить диалог после сброса ключей.

  • Q: Часто работаю с разными ПК — что удобнее?
    A: Отметьте «Всегда разрешать для этого компьютера» при первом подключении; если вы часто переключаете машины — храните приватный ключ и переносите его в ~/.android (только если доверяете машине).

Надеюсь, инструкция поможет быстро вернуть рабочее соединение ADB и понять, кто «забыл» доверие — компьютер или устройство.