3 votos

Usando el SSHD nativo de LineageOS sobre ADB

Tengo la mayor parte del camino para conseguir sshd nativo de trabajo a través de USB (principalmente para la cáscara y winscp), pero muy turbia y no del todo allí todavía. Quiero usar el sshd incorporado, no descargar una aplicación para ello.

Lineageos tiene un SSHD incorporado y ADB permite el reenvío desde el host local:XXXX al teléfono en el puerto 22. Tengo un sshd_config archivo listo (contraseña por ahora, RSA después), y Terminal + su todo funcionando. Por ensayo y error he encontrado los archivos sshd-start o start-sshd y probablemente estoy en la mayor parte del camino. Pero es difícil reproducir un enfoque de prueba y error y en realidad no lo tengo allí todavía.

Lo más lejos que he llegado es que puedo ejecutar ssh (cliente) en el teléfono y al menos tratará de conectarse a sí mismo (en otra ventana de terminal), pero todavía no llega completamente a un prompt de shell. Dio errores en /var/run/etc y en la falta de un dir 'vacío' que creé manualmente y parece ayudar pero no sé realmente si es la manera correcta o mejor de hacerlo.

Asumiendo que tengo un archivo de configuración válido y una instalación limpia sin cambios, ¿cuáles son los pasos básicos desde el principio, para poder habilitar el sshd nativo, iniciarlo/pararlo manualmente (no iniciado con el sistema), y acceder a él a través de adb?

Me gustaría usar /sdcard/sshdata para cualquier clave/configuración, para que se conserven a través de la instalación, y por el momento, la contraseña a través de adb vía usb solamente (no WiFi). Estoy feliz de modificar algunos archivos relacionados con sshd en /system y probablemente necesite hacerlo, pero no sé qué necesito cambiar.

¿Cuál es la receta más sencilla para conseguir que sshd esté disponible para poder encenderlo y conectarme cuando sea necesario?

5voto

sphakka Puntos 191

AFAIK con LineageOS 14.1 (tengo un rooteado FairPhone 2), sshd está activado por defecto y listo para ser utilizado. Su archivo de configuración es /system/etc/ssh/sshd_config que apunta a /data/ssh/ para guardar las llaves. Supongo que se puede reconfigurar para usar /sdcard/ . En teoría , /data debería conservarse a través de las actualizaciones del sistema, aunque no tengo mucha experiencia para confirmarlo. El demonio debe iniciarse manualmente (esto también genera el par de claves del servidor; tenga en cuenta que el start-ssh no se lanza sshd en el fondo, de ahí el & ):

$ adb root
phone # /system/bin/start-ssh & 

Como alternativa, se puede configurar otro sshd como explicada aquí .

Para tener sshd iniciar en cada arranque (aún no lo he probado), una opción es utilizar Termux:Boot . Ten en cuenta que tener un demonio siempre en funcionamiento puede agotar la batería.

En cuanto a la ejecución de ADB y SSH, usted dice

ADB permite el reenvío desde el host local:XXXX al teléfono en el puerto 22

Tengo entendido que esto no es correcto (a menos que se refiera a reenvío desde un equipo de desarrollo a otro host al que el teléfono está conectado ), ya que no veo cómo adbd puede manejar conexiones encriptadas. Una rápida prueba de olfateo con ngrep muestra que mi conexión Wi-Fi en el puerto 5555 es de texto claro.

Si no, asegúrate (supongo que ya lo sabes, pero repetita iuvant ...) que en su teléfono

  1. Developer options son habilitado
  2. Developer options -> Root access se ajusta a "ADB" o "Apps ADB"
  3. Developer options -> ADB over network está activado

A continuación, en el terminal de tu ordenador, el siguiente comando debería ponerte en marcha:

$ adb connect <your-android-host-name>
$ adb shell

...espera una insoportable lentitud, no encriptado conexión :-(

0 votos

To have sshd start at each boot (I still haven't tried), one option is to use Termux:Boot ¿entonces no hay autoarranque nativo para SSHD en Lineage?

0 votos

@Suncatcher, AFAIK, ¡no! Esto todavía

1 votos

(ouch, conexión rota) ...sigue siendo el caso con LOS17.1

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X