[SSH] FTP par SSH

Applications, problèmes de configuration réseau
Répondre
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

[SSH] FTP par SSH

Message par maxi_jac »

Bonjour !


J'essaie de monter un tunnel SSH pour acceder au FTP de ma Freebox HD depuis l'exterieur.

Le reseau est donc comme ça (j'utilise les noms de machines):

Code : Tout sélectionner

fixe     ---------  (INTERNET)   -----------   Freebox ~~~~~  packard (192.168.0.18)
                                                   |
                                                   |
                                                   |
                                       hd1.freebox.fr
packard est mon serveur SSH qui a accès à hd1.freebox.fr

sur la machine packard, sshd écoute sur le port 22
dans hosts.allow j'ai seulement "sshd: ALL "
Je n'utilise pas iptables, sur aucune des machines.


La freebox est configuré de cette maniere niveau forwarding:
22 -> 192.168.0.18:22
1025 -> 192.168.0.18:1025


j'effecute la liaison du tunnel a partir de "fixe" en faisant :

Code : Tout sélectionner

ssh -R 1025:hd1.freebox.fr:21 IP_Freebox
(Qui est censé résoudre ce nom de domaine ? fixe ou packard ?)

Quand le tunnel est créé, je tente d'acceder au FTP d'hd1.freebox.fr depuis fixe par

Code : Tout sélectionner

lftp -p 1025 freebox@IP_Freebox
lftp est configuré en actif, mais j'ai testé en passif et pas mieux il me met "reconnexion dans 30s..." et ainsi de suite...


Quelqu'un a une idée d'ou ca peut coincer ? Mon tunnel ?

Merci !

++ B.
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

Re: [SSH] FTP par SSH

Message par maxi_jac »

Bon je me réponds à moi même car à coups de nmap j'ai compris que mon port 1025 ne s'ouvrait pas...
J'ai viré temporairement le DENY ALL de hosts.deny et maintenant quand je scanne je vois bien le port 1025 mais selon le scan "nmap -PN" il me le voit fermé...


Des indices ? :/


++ B.
Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1137
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

Re: [SSH] FTP par SSH

Message par Skunnyk »

Tu peux tenter avec un -L au lieu de -R, qui te permet de faire du ssh tunneling (d'ailleurs je n'avais jamais utilisé le -R, que je ne connaissais pas)
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

Re: [SSH] FTP par SSH

Message par maxi_jac »

Merci de ta réponse, je jongle entre -L et -R mais rien de fonctionne :(


++ B.
Mageti
Hankyu
Messages : 18
Inscription : sam. 28 févr. 2009, 20:30

Re: [SSH] FTP par SSH

Message par Mageti »

Salut maxi_jac,
Perso pour faire un tunnel ssh, j'utilise plutôt cette commande :

Code : Tout sélectionner

ssh -N -f login@adresse_public -Lport_local_de_renvoi:adresse_privée_HD:port_distant_du_hd
Ce qui donnerais, si je ne trompe pas :

Code : Tout sélectionner

ssh -N -f login@adresse_Freebox -L1025:hd1.freebox.fr:1025
en supposant que tu redirige le port 22 de la freebox sur le port 22 de ta machine packard.
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

Re: [SSH] FTP par SSH

Message par maxi_jac »

Salut Mageti,

J'essaierai à l'occasion là je peux pas trop. Mais je comprends pas, ton tunnel a de 1025 à 1025, comment tu peux dire à ton client ftp d'aller choper le port 21 derrière ?


++ B.
Avatar de l’utilisateur
Abazigal
Chu Ko Nu
Messages : 313
Inscription : sam. 26 avr. 2008, 14:45
Localisation : Seine et Marne

Re: [SSH] FTP par SSH

Message par Abazigal »

Bonjour maxi_jac
tout d'abord, l'option -R n'était pas la bonne, car elle permet de faire l'inverse de -L: elle ouvre un socket sur l'hote distant.
(-R comme "remote", -L comme "local")

Il faut donc, comme l'a dit Skunnyk, utiliser -L.

Secundo, de base, quand tu fais du SSH tunneling, les autres ne peuvent pas acceder au socket qui est créé, il faut donc utiliser l'option -g
Extrait du man:

Code : Tout sélectionner

-g     Allows remote hosts to connect to local forwarded ports.
Tercio, quand tu utilise "ssh -L 1234:host2:21 host1", cela créer localement un socket écoutant sur le port 1234; toute les connexions sur ce port vont passer par le tunnel entre ta machine et host1, PUIS VONT ÊTRE redirigé par host1 (en non crypté) vers le port 21 de host2; host1 ne sert que de relai. Dans ton cas, host1 et host2 sont les même machine (ta freebox), il n'y a pas de relai. Il faut donc dire qu'a la sortie du tunnel, la connexion doit se faire sur le port 21 de "localhost".

Ce qu'il te faut est donc:

Code : Tout sélectionner

ssh -NgL 1025:localhost:21 ip_freebox
(avec -f si tu veux le lancer en fond)

Quadrio (heu, ca se dit ? :? ), quand tu fais tes tests, va du plus simple vers le plus compliqué (l'utilisation finale): tente d'abord un

Code : Tout sélectionner

lftp -p 1025 localhost
puis

Code : Tout sélectionner

lftp -p 1025 freebox
puis, d'un PC exterieur a ton reseau:

Code : Tout sélectionner

lftp -p 1025 IP_Ext_De_Ta_Freebox
Et finalement, et c'est le plus important ...
je ne vois pas du tout l'interet de tout ca ... la connexion entre un pc distant et le port 1025 de ta freebox ne sera pas crypté; absolument la même chose que de faire directement une requete ftp dessus ... Donc je ne vois pas ce qu'apporterai tout ceci ...
Par contre, depuis un hote distant :

Code : Tout sélectionner

ssh -NLf 1025:Iocalhost:21 ip_exterieur_de_ta_freebox
lftp -p 1025 localhost
Ca ca cryptera la communication entre le PC exterieur et ta freebox, et tu n'as pas a t'embarasser avec toute une configuration dans ton reseau maison.

En esperant avoir été constructif ...

Et je te conseille cet exellent tuto sur le tunnelling via SSH :
http://sio.obspm.fr/fichiersHTML/tunnel.html

Voila voila :)
Dernière modification par Abazigal le dim. 07 juin 2009, 15:34, modifié 2 fois.
Si les cons savaient voler, il ferait nuit tout le temps ...
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

Re: [SSH] FTP par SSH

Message par maxi_jac »

Merci beaucoup pour ta réponse Abazigal !

Avant de tenter de mettre en oeuvre ce que tu me conseilles, je réponds juste quant à l'utilité de la chose.
Le but n'est pas de crypter les données, c'est qu'on ne peut acceder au disque dur interne de la Freebox TV que depuis le réseau local de la freebox. Pour y accéder de l'exterieur j'ai donc besoin d'un relai dans le réseau local non ?


++ B.
Avatar de l’utilisateur
Abazigal
Chu Ko Nu
Messages : 313
Inscription : sam. 26 avr. 2008, 14:45
Localisation : Seine et Marne

Re: [SSH] FTP par SSH

Message par Abazigal »

Haaa, ok ok, je comprends mieux alors :)

Bein, tu dis que sur ta freebox tu as une règle:

Freebox:1025 -> Fixe:1025

Je ne suis pas sûr du tout (je n'ai pas de freebox), mais je pense qu'une bête règle

Freebox:1025 -> FreeboxHD:21

Suffirait, nan ?

Aux yeux de la FreeboxHD ca viendrait de "l'interieur", je pense ...
Avec une autre box, ca marcherait, j'en suis quasiment sûr, mais la freebox est bizare: il me semble qu'elle a pas vraiment d'IP sur le reseau local, ou un truc du genre, nan ? Pourquoi freebox, et hd.freebox sont séparé ? ce n'est pas le même équipement (physiquement) ? (ouais, je suis perdu des qu'il s'agit de freebox :lol: )
Si les cons savaient voler, il ferait nuit tout le temps ...
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

Re: [SSH] FTP par SSH

Message par maxi_jac »

:)

on ne peut accéder à la freebox TV que depuis 'hd1.freebox.fr' et à l'interieur meme du reseau.

De toute manière en la pingant son adresse est de type 212.xxx.xxx.xxx et dans la config du routeur freebox on ne peut rediriger que vers les 192.168.xxx.xxx

En fait on dirait que pour acceder à la freeBox on doive passer par les serveurs de free ou un truc du genre...


En tout cas j'ai reussi en utilisant tes commandes \o/

en me loggant d'abord sur la machine à l'interieur du reseau puis en faisant un

Code : Tout sélectionner

ssh -NgL 1025:hd1.freebox.fr:21 localhost
je peux y acceder de l'exterieur en ftp sur le port 1025 de ma freebox :)

J'ai pas trouvé plus pratique ( c'est à dire sans me logger d'abord sur la machine, juste en etablissant le tunnel depuis l'exterieur )


Merci :) et je vais me mettre à bien lire la doc que tu m'as filée ca al'air pas mal, malgré mes recherches j'étais pas tombé sur celle là ^^


++ B.
Avatar de l’utilisateur
Abazigal
Chu Ko Nu
Messages : 313
Inscription : sam. 26 avr. 2008, 14:45
Localisation : Seine et Marne

Re: [SSH] FTP par SSH

Message par Abazigal »

EDIT:
Heu, atta, la freebox a un serveur ssh ?

(si non, ca sert a rien de faire la suite)



j'ai surement mieux, en fait, maintenant que j'ai compris ce que tu voulais, exactement :

On peut y arriver plus facilement avec l'option -R, comme tu étais partis.

Code : Tout sélectionner

ssh -NR 1025:HDFREEBOX:21 FREEBOX
Comme tu l'avais fait; sauf qu'il faut supprimer la 2ème règle de redirection au niveau de la freebox, qui fait que ton truc ne marche pas. (et la première aussi tant que t'y es, avec le port 22, elle ne sert a rien si tu n'utilise pas -L).

en gros, la commande va créer un socket ecoutant sur le port 1025, sur ta freebox, et tout ce qui ira sur ce port sera redirigé dans le tunnel, puis sera redirigé par packard sur le port 21 de HDFREEBOX. Et ca serait trop long a expliquer, mais la règle sur la freebox rend ineficasse la chose.

Essaye, à l'ocasion: ca fait moins de règle, donc plus "propre" :)
Si les cons savaient voler, il ferait nuit tout le temps ...
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

Re: [SSH] FTP par SSH

Message par maxi_jac »

Oups... j'ai parlé trop vite en fait... Ca n'a finalement pas l'air de marcher... Dans tous mes tests j'ai fini par faire une connerie et j'étais connecté en direct sur le reseau de ma Freebox... donc oui ca marchait...
Normalement je fais mes tests depuis le nouveau reseau FreeWifi qui donne une IP différente de celle de la connexion normale. et là, ca ne marche plus evidemment xD


J'ai l'impression que Free fait tout pour qu'on ne puisse pas rendre le FTP accessible de l'exterieur... Et c'est pour ca que la freebox est accessible par une ip exterieure, Free peut tout verifier et bloquer si il detecte que ca vient pas du reseau interne.

Sinon pour ta derniere commande, je comprends pas le principe, si je supprime la regle du routeur pour rediriger le port 22, qui va receptionner ma requete ssh ?


++ B.
Avatar de l’utilisateur
Abazigal
Chu Ko Nu
Messages : 313
Inscription : sam. 26 avr. 2008, 14:45
Localisation : Seine et Marne

Re: [SSH] FTP par SSH

Message par Abazigal »

ok, c'est bien ce que je viens de soupconner: la freebox n'a pas de serveur SSH ... je croyais ...

Mais du coup, toute les solutions tunnelisés sont impropre: packard créer un tunnel entre lui et lui même ... :?

Je ne pense pas que SSH soit la bonne solution :/
Si les cons savaient voler, il ferait nuit tout le temps ...
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

Re: [SSH] FTP par SSH

Message par maxi_jac »

Y a des box qui ont un serveur ssh ? Ca a l'air sympa ça ^_^
En effet peut etre qu'SSH n'est pas la solution... mais alors comment faire ?



++ B.
Avatar de l’utilisateur
Abazigal
Chu Ko Nu
Messages : 313
Inscription : sam. 26 avr. 2008, 14:45
Localisation : Seine et Marne

Re: [SSH] FTP par SSH

Message par Abazigal »

Je vois qu'iptables, là, comme ca; mais ca me parait un peu être la chasse a la mouche au bazouka ...
J'essaye quelques trucs, là :d
Si les cons savaient voler, il ferait nuit tout le temps ...
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

Re: [SSH] FTP par SSH

Message par maxi_jac »

J'ai trouvé des infos et une manière possible de le faire (apparemment).

Il faudrait sur la machine dans le reseau local pouvoir monter le FTP dans le systeme de fichier (fuse + curlftpfs) et ensuite remettre un serveur ftp là dessus pour venir se brancher sur ce systeme de fichier monté...

Comme on s'éloigne du sujet je vais tester cette méthode et si ca je galère, j'ouvre un nouveau sujet.


Encore merci Abazigal de m'avoir aidé.


++ B.
Avatar de l’utilisateur
Abazigal
Chu Ko Nu
Messages : 313
Inscription : sam. 26 avr. 2008, 14:45
Localisation : Seine et Marne

Re: [SSH] FTP par SSH

Message par Abazigal »

T'utilise quoi pour utiliser le mode passif avec lftp, au fait ?

Normalement;

Code : Tout sélectionner

ssh -NgL 1205:HDFREEBOX:21 localhost
DOIT faire l'affaire (même si comme je l'ai dit plus haut, c'est pas très propre ...
Si les cons savaient voler, il ferait nuit tout le temps ...
maxi_jac
Daikyu
Messages : 94
Inscription : dim. 15 juin 2008, 17:43

Re: [SSH] FTP par SSH

Message par maxi_jac »

avec lftp :

Code : Tout sélectionner

set ftp:passive-mode true/false
En effet, ça doit faire l'affaire mais bizarrement ca ne marche pas, le client ftp se connecte, procède au FEAT et reste bloqué sur "attente de la connexion de données"


++ B.
Répondre