Servidor SSH (y SFTP) en Android detectable a través de avahi / bonjour

16

Me gustaría que mi dispositivo Android (un Samsung Galaxy) sea detectable a través de avahi / bonjour cuando esté conectado a una red WiFi, y luego poder acceder a su sistema de archivos a través de SSH (SFTP).

Para mí, esa es una forma familiar y conveniente de acceder a varios dispositivos en mi red local: descubrir su servicio SSh a través de avahi / bonjour (no tener que lidiar con direcciones IP), y enviarles mensajes. Lo usaría de esta manera para mis sistemas GNU / Linux (como Ubuntu).

¿Existe un software gratuito (= libre, porque aprecio la libertad de piratería) para Android que implementaría esto, a saber:

  • soporte de avahi / bonjour para Android, para que el dispositivo Android sea accesible por nombre en el dominio .local (en lugar de solo por su dirección IP);
  • y un servidor SSH con soporte para publicarse a través de Avahi / bonjour (mdnssd).
imz - Ivan Zakharyaschev
fuente
Justo el mismo deseo: android.stackexchange.com/questions/20907/… : enviar ssh a Android no por su IP, sino por el nombre adquirido a través de zeroconf / bonjour / avahi / mdns (como se llame). Sería aún mejor si el servicio SSH se publicara a través de zeroconf / bonjour / avahi / mdns / dnssd (como se llame).
imz - Ivan Zakharyaschev
En cuanto a la parte SSH del deseo, ya hay preguntas y respuestas: android.stackexchange.com/questions/9905/… , android.stackexchange.com/questions/15503/… . (Aunque tendré que averiguar si las soluciones sugeridas son software libre / libre, para responder a mi pregunta). Sin embargo, la parte de soporte de avahi / bonjour / zeroconf no tiene respuesta ...
imz - Ivan Zakharyaschev
2
Sé que no es lo mismo, pero mientras buscaba la "solución final": aconsejé a mis enrutadores DHCP que asignaran una IP estática a los dispositivos, y luego lo configuré con mi DNS local (también puede hacerlo a través de /etc/hosts). Así que no tengo que recordar las IP, sino los "apodos" de los dispositivos, lo cual es bastante fácil de comparar.
Izzy
@ Izzy: Ya veo, gracias, esa es una solución muy razonable. Pero desafortunadamente, en mi caso, parece que tengo (como enrutador) una estación base Airport Extreme que no admite "reservas DHCP" . Además, sería bueno poder conectarse al dispositivo mediante un "apodo" en la situación en la que soy un "invitado" (en una red no configurada por mí).
imz - Ivan Zakharyaschev
2
Claro, eso se entendió desde el principio, es por eso que pensé que era una solución alternativa hasta que encuentre una solución real. Hay aplicaciones disponibles que le permiten configurar una "IP fija bajo demanda / por red" (a diferencia del "DHCP fijo"), que incluso debería funcionar con su estación base extrema del aeropuerto. Si está interesado, podría resumir esto y colocarlo en una respuesta (junto con mi comentario anterior).
Izzy

Respuestas:

2

He estado usando el SSHelper gratuito (sin enraizamiento) desde que recientemente agregó la transmisión zeroConf. Proporciona un servidor SSH y RSYNC (transferencia de archivos), al tiempo que transmite un nombre ZeroConf. Otro cliente avahi / bonjour puede conectarse sin necesidad de conocer el nombre de host de Android. Explicado con más detalle en esta otra respuesta: Establecer nombre de host para SSHelper

glenschler
fuente
¡Muchas gracias por la información! Ahora al menos sé de una posibilidad para configurar esto. Prefiero usar software libre (= libre, de código abierto). ¿Debería considerar SSHelper entonces? ... (No sé aún si es software libre).
imz - Ivan Zakharyaschev
@glenschler Hola, acabo de probar SSHelper pero no he descubierto cómo conectar o ssh usando el nombre. He comprobado el código fuente y parece que el uso "SSHelper" como el nombre zeroconf, pero no puedo conectar con él de este modo: ssh SSHelper:2222. ¿Alguna pista / consejo? Gracias
George Profenza
@ george-profenza No sabía que el código fuente estaba disponible. Tendré que investigar. Debe buscar en su red todos los nombres "avahi". Esto será diferente de su máquina Mac o Linux. android.stackexchange.com/questions/42358/…
glenschler
@glenschler He usado avahi en una Raspberry Pi y después de instalarlo pude acceder a mi pi como rpi.local. En Windows tuve que instalar el servicio Bonjour. Intenté acceder a ssh / http usando el nombre de host SSHelper (que pude ver en una Mac en ejecución dns-sd -B) pero no pude conectarme a él. ¿Cómo se conecta a su teléfono por nombre (qué nombre usa) con SSHelper?
George Profenza
Hay una nueva versión 5.5 de SSHelper. Sí, para responder la pregunta anterior, es software libre. ¡Ahora puede configurar un nombre personalizado! Mis instrucciones se detallan aquí android.stackexchange.com/questions/42358/…
glenschler