7 votes

Comment installer DropBear SSH sur Android ?

Je voudrais installer DropBear SSH sur mon appareil Android 5.1 64 bits, mais il semble que tous les tutoriels d'installation et les modes d'emploi ont disparu ou contiennent des liens vers des fichiers/téléchargements cassés.

Quelqu'un pourrait-il m'expliquer la bonne façon de procéder ?

PLUS DE DÉTAILS :

  • Cette question provient de cet autre : une tentative d'installer un serveur SSH sur un appareil Android moderne (septembre 2015 au moins) qui a (presque) échoué avec de nombreuses applications testées. L'installation en ligne de commande de Dropbear est une approche différente du problème.

7voto

Milner Points 533

Tout d'abord, en guise d'aparté pour les autres lecteurs : Nous ne parlons pas ici d'une "application" (celles-ci ont déjà été essayées et n'ont pas fonctionné sur cette architecture), mais d'un binaire en ligne de commande. DropBear fait parfois partie de Busybox ou il se présente comme binaire séparé .


Passons maintenant à la partie installation. Les binaires que vous installez vous-même vont de préférence à /system/xbin qui se trouve dans le $PATH mais généralement "initialement vide" (le contenu propre d'Android est dans /system/bin y /system/sbin ), le risque de "collisions" est donc très faible. Ainsi, soit adb shell ou le terminal de votre appareil et assurez-vous que vous êtes Root. Je suppose en outre que vous avez déjà transféré le dropbear / busybox binaire sur votre carte 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

La partie installation est terminée (passez la partie dropbear pièces ici si votre dropbear est livré avec busybox - et vice versa, ignorez le busybox si cela n'est pas nécessaire.

Maintenant, nous devons faire dropbear voler. Je n'ai jamais essayé moi-même, donc je me réfère à un script externe sur Github pour ça. En résumé (et au cas où ce lien ne fonctionnerait pas), en supposant que les fichiers requis sont déjà copiés sur votre carte 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

Une partie supplémentaire si vous le souhaitez DropBear pour un démarrage automatique au démarrage :

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

Notez que cela suppose que votre appareil prend en charge init.d scripts. Vérifiez d'abord la disponibilité de ce fichier pour vous en assurer.

Enfin, n'oubliez pas de faire /system en lecture seule à nouveau. Soit vous redémarrez à ce stade (afin de pouvoir également vérifier que DropBear démarre comme prévu), ou au moins exécuter

mount -o remount,ro /system

pour l'instant, en reportant le redémarrage. Pour démarrer le service manuellement, il devrait être possible d'exécuter ce bloc par l'intermédiaire d'un script shell (vous pourriez par exemple avoir un fichier de type tasker pour démarrer et une autre pour arrêter le démon, et même créer des raccourcis vers ces tâches sur votre écran d'accueil pour un contrôle manuel). Encore une fois, je n'ai pas testé cette partie, donc c'est de la "pure théorie".

Bonne chance avec DropBear et BusyBox !

5voto

HorusKol Points 2748

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

apt update
apt ugpgrade
apt install dropbear

J'ai personnellement choisi OpenSSH plutôt que Dropbear.

apt install openssh

Pour exécuter le serveur

sshd

A moins que votre appareil ne soit enraciné, vous ne pourrez pas exécuter sshd en tant que racine. Notez que l'exécution en tant que non-Root implique que les ports inférieurs à 1024 ne peuvent pas être liés. Dans Termux, tous les paquets ont été configurés pour avoir des valeurs par défaut compatibles - les serveurs ftpd, httpd, et sshd ont par défaut 8021, 8080 et 8022, respectivement.

Si vous voulez exécuter sshd comme Root essayez ce script : https://gist.github.com/cycojesus/57409ffed9066ce7f4d4

À ce moment-là, vous serez en mesure de lier sshd au port 22.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X