7 votos

¿Cómo instalo DropBear SSH en Android?

Me gustaría instalar DropBear SSH en mi dispositivo Android 5.1 de 64 bits, pero parece que todos los tutoriales de instalación y how-tos han desaparecido o contienen enlaces a archivos/descargas rotos.

¿Podría alguien explicar la forma correcta de conseguirlo?

MÁS DETALLES:

  • Esta pregunta proviene de este otro : un intento de instalar algún servidor SSH en un dispositivo Android moderno (septiembre de 2015) que ha fallado (casi) con muchas aplicaciones probadas. La instalación por línea de comandos de Dropbear es un enfoque diferente del problema.

1 votos

Nota para los posibles votantes de la zona: OP no está pidiendo una aplicación, sino que quiere ayuda para la instalación. Sopalajo viene aquí por mi sugerencia, la parte de "hay una aplicación para X" ya fue/es tratada en SR. El PO sabe dónde encontrarla - la pregunta que se hace aquí es cómo hacerla volar.

1 votos

Espero que todo esté bien ahora, @Izzy. El enlace está añadido, no tengo fuentes fiables para el código de Dropbear, y todo lo que he probado son aplicaciones, no métodos de línea de comandos.

0 votos

El enlace está ahí (a SR), donde he dejado un enlace a la Página de descarga de los binarios de busybox.net (por lo que no es necesario que se juegue con un instalador adicionalmente). Haciendo eso manualmente, tendrías que crear todos esos enlaces simbólicos al binario principal (al menos los que quieras). Lo que está disponible te lo dice al llamarlo sin ningún parámetro. Deberías colocar el binario en /system/xbin y crear los enlaces simbólicos en el mismo lugar. Solo no puedo decirte más para la parte de "cómo hacer funcionar sshd".

7voto

Izzy Puntos 45544

En primer lugar, como nota al margen para otros lectores: No estamos hablando de "una aplicación" aquí (esas ya se han probado y no funcionaron en esa arquitectura), sino de un binario de línea de comandos. DropBear a veces forma parte de Busybox o viene como binario separado .


Ahora, la parte de la instalación. Los binarios que instalas tú mismo es mejor que vayas a /system/xbin que se encuentra en el $PATH pero por lo general "inicialmente vacío" (las cosas propias de Android están en /system/bin y /system/sbin ), por lo que corremos un riesgo muy bajo de "colisiones". Así que, o bien adb shell o terminal a tu dispositivo y asegúrate de que eres Root. Asumo además que ya has transferido el dropbear / busybox binario a su tarjeta SD.

mount -o remount,rw /system        # make sure we can write to system
cp /sdcard/busybox /system/xbin    # copy the binaries to /system/xbin
cp /sdcard/dropbear /system/xbin
cd /system/xbin                    # switch to our target directory
chmod 755 busybox dropbear         # make sure we've set the correct permissions
busybox --install /system/xbin     # advice busybox to create all its symlinks here

Parte de la instalación hecha (omita la dropbear partes aquí si su dropbear viene con busybox - y viceversa, omita el busybox parte si no es necesario.

Ahora, tenemos que hacer dropbear volar. Nunca he probado esto, así que me remito a un script externo en Github por eso. En resumen (y en caso de que ese enlace muera), de nuevo asumiendo que los archivos necesarios ya están copiados en tu tarjeta SD:

\# Creating a home-dir for DropBear
mkdir /data/dropbear
chmod 755 /data/dropbear
mkdir /data/dropbear/.ssh
chmod 700 /data/dropbear/.ssh
# Copy over our files
mv /sdcard/authorized\_keys /data/dropbear/.ssh/
chown root: /data/dropbear/.ssh/authorized\_keys
chmod 600 /data/dropbear/.ssh/authorized\_keys
# Generate a hostkey, so we can use DropBear
dropbearkey -t rsa -f /data/dropbear/dropbear\_rsa\_host\_key
dropbearkey -t dss -f /data/dropbear/dropbear\_dss\_host\_key

Una parte adicional si quieres DropBear para que se inicie automáticamente en el arranque:

cat << EOF >> /etc/init.local.rc

# start Dropbear (ssh server) service on boot
service sshd /system/xbin/dropbear -s
   user  root
   group root
   oneshot

EOF

Tenga en cuenta que esto supone que su dispositivo es compatible con init.d guiones. Primero compruebe la disponibilidad de ese archivo para asegurarse.

Por último, no olvides hacer /system de nuevo de sólo lectura. O bien reinicie en este punto (para que también pueda comprobar que DropBear comienza como se pretende), o al menos ejecutar

mount -o remount,ro /system

por ahora, posponiendo el reinicio. Para iniciar el servicio manualmente, debería ser posible ejecutar ese bloque a través de algún shell script (por lo que podría, por ejemplo, tener un tasker tarea para iniciar y otra para detener el demonio, e incluso hacer accesos directos a esas tareas en su pantalla de inicio para el control manual). De nuevo, no he probado esta parte, así que es "pura teoría".

¡Buena suerte con DropBear y BusyBox!

0 votos

Así que entiendo que, tras el procedimiento de instalación, la línea de comandos para iniciar el servicio SSH debería ser /system/xbin/dropbear -s ? Y supongo que se podría ejecutar como Root (a través de su ) o usuario normal, por supuesto.

5voto

HorusKol Puntos 2748

Instalar Termux ( Google Play , F-Droid , Fossdroid )

apt update
apt ugpgrade
apt install dropbear

Personalmente, he elegido OpenSSH en lugar de Dropbear

apt install openssh

Para ejecutar el servidor

sshd

A menos que tu dispositivo esté rooteado no podrás ejecutar sshd como root. Tenga en cuenta que la ejecución como no-Root implica que los puertos por debajo de 1024 no pueden ser vinculados. En Termux cualquier paquete ha sido configurado para tener valores por defecto compatibles - los servidores ftpd, httpd, y sshd por defecto son 8021, 8080 y 8022, respectivamente.

Si desea ejecutar sshd como Root prueba este script: https://gist.github.com/cycojesus/57409ffed9066ce7f4d4

En ese momento, podrá vincular sshd al puerto 22.

0 votos

El enlace a GitHub está muerto.

0 votos

¿Cuál sería y cómo se puede establecer en este caso el nombre de usuario y la contraseña para iniciar sesión, SFTP, SCP... etc?

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