web-dev-qa-db-fra.com

Puis-je SSH (dans un appareil mobile) via USB?

J'ai une tablette avec une connexion USB à un ordinateur hôte. (Idéalement, l'hôte utilise Windows, mais si cela est absolument nécessaire, je pourrais également basculer l'hôte sur Ubuntu également.)

Je veux pouvoir connecter SSH à l'appareil sans connexion RS-232, WiFi ou autre. Quelle combinaison de logiciels et quelle configuration dois-je utiliser pour que cela se produise?

Fondamentalement, j'aimerais pouvoir disposer de l’équivalent de adb Shell, mais lorsque la tablette fonctionne sous Ubuntu, pas Android.

La tablette utilise la version 9.04, mais je serais heureuse de la mettre à niveau si nécessaire.

10
Phrogz

Donc, pour clarifier, vous voulez vous connecter à votre tablette (sous Ubuntu) à partir de votre PC (sous Windows, mais pourriez exécuter Ubuntu s'il le fallait) en ssh via une connexion USB?

Je n'avais jamais entendu parler de cela auparavant, mais des recherches dans Google telles que "ssh over USB" ont permis à de nombreux hits de montrer comment connecter un iphone jailbroker avec OpenSSH installé sur un PC Windows à l'aide de WinSCP ou de PuTTY. Voici quelques liens:

iFans - SSH via USB avec WinSCP

OpenSSH, USB au lieu de WiFi

La tablette Ubuntu pourrait facilement remplacer l’iPhone car elle contient déjà OpenSSH, mais je ne sais pas trop comment canaliser une connexion SSH vers USB, à moins que SSH utilise le port 22. Ces deux tutoriels utilisent un programme appelé itunnel mais je ne le fais pas. Je ne sais rien à ce sujet. Je suis allé sur le site d'itunnel et il a déclaré: "iTunnel est un simple programme en ligne de commande Linux qui fournit un tunnel SSH via le câble USB à un iPhone jailbreaké. J'ai écrit ce petit outil parce que j'en avais marre de devoir SSH dans mon iPhone via le lien WiFi Le proxy SSH, le lien ssh et scp fonctionnent très bien. " Comme il est dit "programme de ligne de commande Linux simple", je pense que cela vaut au moins la peine d’enquêter pour voir si cela fonctionnera.

C'est une perspective intéressante et j'aimerais voir où cela va, mais je pense que la connexion via USB rend cela beaucoup plus de travail que nécessaire. J'ai utilisé l'application Proxoid Android pour connecter mon téléphone à mon ordinateur portable pour des connexions sans fil captives à l'aide de la commande ./adb forward tcp:8080 tcp:8080, mais la connexion par tunnel nécessitait que je mette le proxy sur mon navigateur avant de pouvoir me connecter. . La mise en tunnel de votre connexion SSH vers USB peut rendre difficile la connexion de vos applications sans quelques options compliquées.

Si vous avez un ancien routeur (comme un routeur Linksys sans fil B ou G), vous pouvez simplement connecter la tablette et le PC ensemble à l'aide de SSH à la tablette sans déranger le tunneling.

4
user26785

Juste au cas où vous voudriez utiliser SSH sur Android:

Téléchargez une rom cyanogenmod 7 et extrayez dropbear, dropbearkey et dropbearconvert à partir du répertoire/system/xbin /. Dropbear est une alternative légère à sshd. Copiez-les sur le téléphone, déplacez-les vers/system/xbin/et donnez-leur les autorisations et la propriété des archives.

Générez une clé ssh pour votre bureau si vous n'en avez pas déjà une: ssh-keygen -t rsa
Copiez la clé publique sur le téléphone: adb Push .ssh/id_rsa.pub /sdcard/authorized_keys

Configurez vos clés sur votre téléphone via adb Shell:

mkdir /data/dropbear  
chmod 755 /data/dropbear  
mkdir /data/dropbear/.ssh  
chmod 700 /data/dropbear/.ssh  
mv /sdcard/authorized_keys /data/dropbear/.ssh/  
chown root.root /data/dropbear/.ssh/authorized_keys  
chmod 600 /data/dropbear/.ssh/authorized_keys  
dropbearkey -t rsa -f /data/dropbear/dropbear_rsa_Host_key  
dropbearkey -t dss -f /data/dropbear/dropbear_dss_Host_key 

Exécutez dropbear sur votre téléphone dans un terminal ou à l'aide d'un shell adb: dropbear -s -F -v -p 2222

Connectez-vous à partir de votre bureau: ssh -i .ssh/id_rsa -p 2222 -l root 127.0.0.1

3
daithib8