Depuis Android 4.2, lorsque l'authentification par clé publique a été ajouté pour ADB, jusqu'à la dernière version 10, il n'y a que deux emplacements possibles pour adb_keys
sur Android standard :
Sur l'appareil, les clés publiques des fournisseurs sont installées au moment de la construction dans le répertoire /adb_keys
. Les clés installées par l'utilisateur sont stockées dans /data/misc/adb/adb_keys
.
C'est aussi le cas d'Android 7.1.1 :
static const char *key_paths[] = {
"/adb_keys",
"/data/misc/adb/adb_keys",
NULL
};
Le premier se trouve uniquement sur userdebug
/ eng
ROMs. Aussi sur les constructions débuggeables, vous pouvez définir ro.adb.secure
a 0
a "Permettez adbd
pour se connecter sans authentification" . Cependant _" user
construit des filtres PRODUCT_ADB_KEYS
donc non /adb_keys
sera inclus"_ . ( Source : )
Ainsi, les clés publiques RSA ajoutées à /data/misc/adb/adb_keys
devrait fonctionner. Assurez-vous que la propriété ( system:shell
), mode ( 0640
) et l'étiquette SELinux ( u:object_r:adb_keys_file:s0
) sont définis sur le fichier et le redémarrage adbd
après avoir ajouté la ou les clés. Vérifiez également que les fins de ligne sont correctes (utilisez dos2unix
) après avoir ajouté la ou les clés et s'assurer que la bonne paire de clés privées est disponible pour adb
sur le PC. Le chemin est ~/.android/
sur Linux et %userprofile%\.android\
sous Windows, ou ajouter le nom de fichier/répertoire de la clé à ADB_VENDOR_KEYS
variable d'environnement.
RELATION :