¿Proteger el acceso ADB a través de la red?

Tengo varios dispositivos Android en una red local. (Decodificadores de Android de Geniatech, con 4.2 Jelly-Bean) Si estos decodificadores tienen problemas o necesitan depuración, simplemente me conecto a ellos a través de

adb connect ip-address

allí tengo acceso completo a los dispositivos (rooteados).

Desafortunadamente todos en la red tienen esta posibilidad. Entiendo que es responsabilidad del administrador de la red protegerla contra piratas informáticos y demás, pero me gustaría agregar seguridad adicional. Entonces mi pregunta es:

¿Puedo proteger de alguna manera la conexión adb a Android con una contraseña? (o un certificado o algo así) ¿O alguno de ustedes conoce alternativas?

ADB debe permanecer abierto, para que pueda acceder a los dispositivos desde la red, por ejemplo, para realizar actualizaciones de apk directamente o leer los archivos de registro.

Atentamente

Realmente no he trabajado con ADB sobre TCP recientemente; pero con Android 4.2+ en USB, cualquier computadora nueva que intente conectarse debe ser "aprobada" en el primer acceso ("dispositivo confiable"). ¿No es ese el caso de ADB a través de TCP? Hay varias herramientas ADB que ofrecen algún tipo de protección (por ejemplo, desactivar ADB cuando la pantalla está bloqueada), pero nunca he oído hablar de la protección con PIN/contraseña en este contexto. Lo único en lo que podría pensar entonces son las reglas de firewall para el puerto dado, bloqueando todas las conexiones excepto las de "dispositivos confiables".
Gracias. Desafortunadamente, este "mecanismo de aprobación" no funciona sobre TCP. Nunca aprobé nada y puedo acceder a los dispositivos desde cualquier PC. Las pantallas de esos dispositivos siempre están encendidas, por lo que no hay protección allí;) Sin embargo, la idea del firewall suena interesante.
Para obtener detalles sobre la configuración del firewall, si tiene problemas allí, mejor pregunte en un sitio SE más específico para eso, ya que no es un problema específico de Android :) El superusuario podría ser adecuado para eso (pero mejor verifique /help/on-topicprimero). Firewall es probablemente el mejor enfoque en su caso. Y si bien preguntar directamente cómo hacer eso está fuera de tema aquí, puede responder su propia pregunta con esa solución entonces. ¡Buena suerte!
¿Por qué está usando adb si ya puede ejecutar un servidor SSH?
Hay muchos adbcomandos que no sonadb shell

Respuestas (2)

Como sugirió @Izzy, voy por la "solución de firewall":

Bloquear todas las conexiones para el puerto adb (5555), excepto las de mis dispositivos de confianza.

¡Gracias de nuevo!

aunque está abierto en su LAN, todavía es adb. es lo mismo que por usb. debe reconocer todos los dispositivos que deseen conectarse una vez antes de que pueda conectarse. Si cree que hay un dispositivo reconocido que no debería estar allí, puede restablecer esa lista en la configuración del desarrollador.

también puede agregar un puerto de bloqueo de firewall 5555 e iniciar adb sobre tcp y un servidor ssh, luego autenticar con una clave ssh y hacer un túnel 5555 a un puerto local, por ejemplo, 55555. luego useadb connect localhost 55555