Tengo la mayor parte del camino para hacer que sshd nativo funcione a través de usb (principalmente para shell y winscp), pero es muy turbio y aún no lo he logrado. Quiero usar el sshd integrado, 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 más tarde) y Terminal + su funcionando. Por prueba y error, encontré los archivos sshd-start o start-sshd y probablemente ya haya recorrido la mayor parte del camino. Pero es difícil reproducir un enfoque de prueba y error y todavía no lo he logrado.
Lo más lejos que tengo es que puedo ejecutar ssh (cliente) en el teléfono y al menos intentará conectarse a sí mismo (en otra ventana de terminal), pero aún no llega por completo a un indicador de shell. Dio errores en /var/run/etc y al faltar un directorio 'vacío' que creé manualmente y parece ayudar, pero realmente no sé si esa es la forma correcta o la mejor de hacerlo.
Suponiendo 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, así que puedo habilitar sshd nativo, iniciarlo/detenerlo 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, de modo que se conserven durante la instalación y, por el momento, la contraseña sobre adb solo a través de usb (no WiFi). Estoy feliz de modificar algunos archivos relacionados con sshd en / system y probablemente necesite hacerlo, pero no sé cuál debo cambiar.
¿Cuál es la receta más simple para tener sshd disponible para que pueda encenderlo y conectarme cuando sea necesario?
AFAIK con LineageOS 14.1 (tengo un FairPhone 2 rooteado), estásshd
habilitado de forma predeterminada y listo para usar. Su archivo de configuración es /system/etc/ssh/sshd_config
el que apunta al /data/ssh/
almacenamiento de claves. Supongo que puedes reconfigurarlo para usar /sdcard/
. En teoría , /data
debería conservarse entre actualizaciones del sistema, aunque no tengo mucha experiencia para confirmarlo. El daemon debe iniciarse manualmente (esto también genera el par de claves del servidor; tenga en cuenta que start-ssh
no se inicia sshd
en segundo plano, por lo tanto &
):
$ adb root
phone # /system/bin/start-ssh &
Como alternativa, es posible que desee configurar otra sshd
instancia como se explica aquí .
Para sshd
comenzar en cada arranque (todavía no lo he probado), una opción es usar Termux:Boot . ¡Tenga en cuenta que tener un daemon siempre funcionando puede agotar su batería!
En cuanto a ejecutar ADB y SSH, dices
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 reenviar desde una máquina de desarrollo a otro host al que está conectado el teléfono ), ya que no veo cómo adbd
puede manejar las conexiones cifradas. Una prueba de detección rápida ngrep
muestra que mi conexión Wi-Fi en el puerto 5555 es texto claro.
De lo contrario, asegúrese (supongo que ya lo sabe, pero repetita iuvant ...) que en su teléfono
Developer options
están habilitadosDeveloper options -> Root access
está configurado en "ADB" o "Aplicaciones ADB"Developer options -> ADB over network
está habilitadoLuego, en la terminal de tu computadora, el siguiente comando debería ponerte en marcha:
$ adb connect <your-android-host-name>
$ adb shell
... espere una conexión insoportablemente lenta, no cifrada :-(
atrapasol
To have sshd start at each boot (I still haven't tried), one option is to use Termux:Boot
Entonces, ¿no hay un inicio automático nativo para SSHD en Lineage?sphakka
sphakka