J'aimerais construire un tunnel ssh depuis mon appareil Android (appelé A) sur le port MMM vers une machine C sur le port NNN. CEPENDANT, A et C ne sont pas directement connectés. Ils ne sont connectés que par l'intermédiaire de la machine B (qui exécute également un serveur ssh). Enfin, le port NNN n'est ouvert que localement sur la machine C (qui exécute également un serveur ssh).
Ainsi, avec openssh sous unix, je peux utiliser la ligne de commande de ssh ou l'argument ProxyCommand dans .ssh/config pour archiver cela :
Host C-tunnel
HostName C
Port 22
Use username
IdentityFile ~/.ssh/myidentityfileforC.pem
ProxyCommand ssh -e none -i /.ssh/myidentityfileforB.pem username@B nc -w 120 %h %p 2> /dev/null
Je peux alors mettre en place un tunnel directement depuis mon serveur local vers C:NNN (via la connexion ci-dessus).
Existe-t-il une application pour Android qui prenne en charge des fonctions similaires ? J'ai essayé connectbot et ssh autotunnel. Le dernier a été proche, car j'ai pu configurer un tunnel de A à B et ensuite un autre de A à C (à travers la connexion tunnelée A->B), mais l'initiation de ce dernier les a fait tomber tous les deux. La mise en place du premier tunnel et l'utilisation de connectbot me permettent de me connecter via ssh à C, mais je ne peux pas mettre en place une redirection de port directement vers C:NNN.
Des suggestions ? Y a-t-il un portage direct d'openssh que j'ai manqué ?