[SSH] Problème FTP par tunnel SSH via Putty
Résolu/Fermé
benours
Messages postés
862
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
23 octobre 2011
-
9 juil. 2007 à 17:07
benours Messages postés 862 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 23 octobre 2011 - 18 août 2008 à 14:20
benours Messages postés 862 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 23 octobre 2011 - 18 août 2008 à 14:20
A voir également:
- Putty ftp
- Putty - Télécharger - Divers Web & Internet
- Core ftp - Télécharger - Téléchargement & Transfert
- Ftp utility - Forum Réseau
- Ftp //192.168.l.2121 - Forum Réseau
- 192.168.1.1 n'ouvre pas la freebox ✓ - Forum Freebox
10 réponses
kmanber
Messages postés
543
Date d'inscription
mardi 30 août 2005
Statut
Membre
Dernière intervention
28 décembre 2008
256
9 juil. 2007 à 17:35
9 juil. 2007 à 17:35
regarde du coté de copssh, ca facilite la vie notament au niveau de la gestion des utilisateurs, chacun à son répertoire.
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
10 juil. 2007 à 09:39
10 juil. 2007 à 09:39
Note: Le FTP ne peut pas se tunneller facilement par ssh.
J'explique: Voilà normalement comment fonctionne le FTP:
Le client se connecte sur le port 21 du serveur et s'authentifie.
Le serveur va se connecter sur le port 20 du client pour envoyer les données.
C'est cette seconde connexion qui ne pourra pas passer dans le tunnel ssh.
Pourquoi ne pas tout simplement utiliser les fonctions de transfer de fichier sécurisés intégrées au serveur ssh ?
(sftp).
ça marche remarquablement bien.
Si tu veux absolument utiliser le FTP, il faut configurer ton client FTP en mode "passif", ce qui n'ouvre pas de connexion du serveur vers le client mais utilise la connexion TCP initiée par le client pour envoyer les fichiers.
J'explique: Voilà normalement comment fonctionne le FTP:
Le client se connecte sur le port 21 du serveur et s'authentifie.
Le serveur va se connecter sur le port 20 du client pour envoyer les données.
C'est cette seconde connexion qui ne pourra pas passer dans le tunnel ssh.
Pourquoi ne pas tout simplement utiliser les fonctions de transfer de fichier sécurisés intégrées au serveur ssh ?
(sftp).
ça marche remarquablement bien.
Si tu veux absolument utiliser le FTP, il faut configurer ton client FTP en mode "passif", ce qui n'ouvre pas de connexion du serveur vers le client mais utilise la connexion TCP initiée par le client pour envoyer les fichiers.
benours
Messages postés
862
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
23 octobre 2011
109
11 juil. 2007 à 15:29
11 juil. 2007 à 15:29
Tu confirmes ce que je supposais concernant la connexion en retour, ce n'est pas possible. Pour moi en tout cas. ^^
J'avais donc bien essayé en mode "passif", mais je ne comprends pas vraiment les différentes options que propose Filezilla:
External Server IP Address for passive mode transfers:
(x) Default
( ) Use the following IP: xxx.xxx.xxx.xxx
( ) Retrieve external IP address from: http://...
blablabla...
[ ] Don't use external IP for local connections
[ ] Use custom port range: ... - ... (1 - 65535)
Dans quel cas le mode "passif" est-il activé ou pas? Quelles options choisir? J'ai bien fait quelques essais sans succès.
Alors pourquoi ne pas utiliser SFTP? Car je ne suis pas chez moi et que je dois tourner sous windows. Du coup, je dois utiliser Cygwin pour faire tourner openSSH.
Poblème: par défaut, aucune gestion de droit, tout le monde accède à tout le répertoire Cygwin en SFTP. J'ai donc appris qu'il fallait "chrooter" le "bordel", j'ai donc essayé un moment, en vain. Les solutions que j'ai tenté d'adapter s'adressaient à des serveur Debian ou Mandriva (linux creation environnement openssh chroot ), mais je ne suis pas parvenu à mes fins avec Cygwin. Abandon.
Voila pourquoi je suis revenu vers un serveur Filezilla: pour pouvoir gêré facilement des comptes d'utilisateurs. Mais j'ai rencontré les problèmes que vous connaissez. Je suis donc en train de tourner avec copSSH que l'on m'a conseillé et qui normalement gêre les droit en fonction de la politique appliquée sur la machine serveur.
Problème: bah en fait non. j'ai du mal à ce que les droit qui ont bien effet en local, prennent également effet à distance via WinSCP... Ou je fais quelque chose de travers, ou le problème est le meme qu'avec openSSH seul: chaque fois que je me log, l'utilisateur courrant devient propriétaire (d'après mes ls -l) et peut donc accéder à tout tranquillement. Je vais encore essayer quelques bidouilles.
Ca va faire quelque jour que j'me casse la tête, ça commence à me... Je viens de tomber sur WinSSHD licence perso à 40$... non c'est bon. Je tiendrais le coup jusqu'au bout. Je trouverai. N'hésitez pas à réagir!
J'avais donc bien essayé en mode "passif", mais je ne comprends pas vraiment les différentes options que propose Filezilla:
External Server IP Address for passive mode transfers:
(x) Default
( ) Use the following IP: xxx.xxx.xxx.xxx
( ) Retrieve external IP address from: http://...
blablabla...
[ ] Don't use external IP for local connections
[ ] Use custom port range: ... - ... (1 - 65535)
Dans quel cas le mode "passif" est-il activé ou pas? Quelles options choisir? J'ai bien fait quelques essais sans succès.
Alors pourquoi ne pas utiliser SFTP? Car je ne suis pas chez moi et que je dois tourner sous windows. Du coup, je dois utiliser Cygwin pour faire tourner openSSH.
Poblème: par défaut, aucune gestion de droit, tout le monde accède à tout le répertoire Cygwin en SFTP. J'ai donc appris qu'il fallait "chrooter" le "bordel", j'ai donc essayé un moment, en vain. Les solutions que j'ai tenté d'adapter s'adressaient à des serveur Debian ou Mandriva (linux creation environnement openssh chroot ), mais je ne suis pas parvenu à mes fins avec Cygwin. Abandon.
Voila pourquoi je suis revenu vers un serveur Filezilla: pour pouvoir gêré facilement des comptes d'utilisateurs. Mais j'ai rencontré les problèmes que vous connaissez. Je suis donc en train de tourner avec copSSH que l'on m'a conseillé et qui normalement gêre les droit en fonction de la politique appliquée sur la machine serveur.
Problème: bah en fait non. j'ai du mal à ce que les droit qui ont bien effet en local, prennent également effet à distance via WinSCP... Ou je fais quelque chose de travers, ou le problème est le meme qu'avec openSSH seul: chaque fois que je me log, l'utilisateur courrant devient propriétaire (d'après mes ls -l) et peut donc accéder à tout tranquillement. Je vais encore essayer quelques bidouilles.
Ca va faire quelque jour que j'me casse la tête, ça commence à me... Je viens de tomber sur WinSSHD licence perso à 40$... non c'est bon. Je tiendrais le coup jusqu'au bout. Je trouverai. N'hésitez pas à réagir!
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
11 juil. 2007 à 16:10
11 juil. 2007 à 16:10
ouaips... installer un serveur ssh sous Windows, c'est vraiment prise de tête :-(
Bon courage.
Bon courage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
benours
Messages postés
862
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
23 octobre 2011
109
12 juil. 2007 à 10:58
12 juil. 2007 à 10:58
Au temps pour moi, après quelques essais avec différentes stratégies de compte, je suis arrivé à mes fins: avec WinSCP, chaque user est confiné dans son répertoire propre.
En fait, lorsque WinSCP se connecte au serveur SSH, et grâce à copSSH (pas possible avec la simple combinaison Cygwin + openSSH), les droits respecté sont les droits Windows, qui sont donc facile à administrer tant que l'on tourne sur un système de fichier NTFS (clic droit sur le répertoire Propriétés>Sécurité avec les droits admin bésûr). J'ai donc exactement le résultat escomptér.
Mais il subsiste quelques doutes dans ma tête de newb'. En effet, j'ai installé copSSH sur un DD séparé (E:). J'ai donc E:\copSSH\bin\, doc\, etc\, home\, tmp\, var\ comme sous un système linux normal. Or il est obligatoire de laisser accès à ces répertoires (sauf /home pour ne pas permettre à un utilisateurs de voir les repertoires des autres utilisateurs) à tous les utilisateur, sous peine que la connexion au serveur SSH échoue. Est-ce que ca ne représente pas un risque potentiel si on une personne mal intentionnée se connecte avec Putty?
Voici le contexte à l'initiamlisation de la connexion, que ce soit avec Putty ou WinSCP:
L'utilisateur se trouve dans E:\copSSH\home\user\. Il n'a pas les droit sur "home" et ne peut donc pas remonter d'un répertoire. Par contre il a les droits sur les autres répertoires linux dans E:\copSSH\ que j'ai listés plus haut. Avec Putty, j'ai tenté cd /, cd ../.., cd.., je n'arrive pas à remonter, mon user reste dans son répertoire "home".
Y a-t-il d'autres moyen simples d'y parvenir? Pour par exemple pourrire les répertoire en vue d'un déni de service.
Encore une chose, si je donne un chemin en paramètre d'un cd, au lieu de me donner une erreur, j'ai un ">" qui m'invite à passer une commande. De quoi sagit-il?
Exemple:
user@machine ~
cd etc\
>ls
-bash: cd: etcskells: No such file or directory
C'est un exemple de tentative d'accès à etc\ qui n'a pas réussi. Mais j'aimerais savoir pourquoi j'ai une invitation ">" alors que je pensais avoir directement un messager d'erreur.
En fait, lorsque WinSCP se connecte au serveur SSH, et grâce à copSSH (pas possible avec la simple combinaison Cygwin + openSSH), les droits respecté sont les droits Windows, qui sont donc facile à administrer tant que l'on tourne sur un système de fichier NTFS (clic droit sur le répertoire Propriétés>Sécurité avec les droits admin bésûr). J'ai donc exactement le résultat escomptér.
Mais il subsiste quelques doutes dans ma tête de newb'. En effet, j'ai installé copSSH sur un DD séparé (E:). J'ai donc E:\copSSH\bin\, doc\, etc\, home\, tmp\, var\ comme sous un système linux normal. Or il est obligatoire de laisser accès à ces répertoires (sauf /home pour ne pas permettre à un utilisateurs de voir les repertoires des autres utilisateurs) à tous les utilisateur, sous peine que la connexion au serveur SSH échoue. Est-ce que ca ne représente pas un risque potentiel si on une personne mal intentionnée se connecte avec Putty?
Voici le contexte à l'initiamlisation de la connexion, que ce soit avec Putty ou WinSCP:
L'utilisateur se trouve dans E:\copSSH\home\user\. Il n'a pas les droit sur "home" et ne peut donc pas remonter d'un répertoire. Par contre il a les droits sur les autres répertoires linux dans E:\copSSH\ que j'ai listés plus haut. Avec Putty, j'ai tenté cd /, cd ../.., cd.., je n'arrive pas à remonter, mon user reste dans son répertoire "home".
Y a-t-il d'autres moyen simples d'y parvenir? Pour par exemple pourrire les répertoire en vue d'un déni de service.
Encore une chose, si je donne un chemin en paramètre d'un cd, au lieu de me donner une erreur, j'ai un ">" qui m'invite à passer une commande. De quoi sagit-il?
Exemple:
user@machine ~
cd etc\
>ls
-bash: cd: etcskells: No such file or directory
C'est un exemple de tentative d'accès à etc\ qui n'a pas réussi. Mais j'aimerais savoir pourquoi j'ai une invitation ">" alors que je pensais avoir directement un messager d'erreur.
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
12 juil. 2007 à 11:13
12 juil. 2007 à 11:13
Désolé, je n'ai pas trop creuse le mapping des droits entre POSIX/cygwin/Windows.
benours
Messages postés
862
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
23 octobre 2011
109
12 juil. 2007 à 16:54
12 juil. 2007 à 16:54
Pas de problème, l'important c'est que j'y sois parvenu. Etant donné que ce n'est qu'un exercice de style, je voudrais identifier les risques, mais le problème ne se posera jamais dans la réalité.
Merci en tout cas pour ton aide, ainsi que pour toutes tes autres interventions judicieuses.
Merci en tout cas pour ton aide, ainsi que pour toutes tes autres interventions judicieuses.
Salut,
Je pense qu'il faudra que j'ouvre un nouveau topic, mais j'expose tout de même mon cas :
j'ai un pc portable connecté à internet via un phone en 3g, et je voudrais installer des softs qui sont dispos sur le net en ftp (ou qui, pour cause de proxy qui bloque me refuse pas mal de ces fichiers que je voulais installer) je ne veux pas peerer !
de l'autre côté, un Macintosh relié à l'ADSL........
vous devinez déjà la suite !
client (limité aux seuls ports (80 et 443) [browser firefox only] --- proxy de l'opérateur 3g --- [tunnel vpn ?] [ssh ?] - [sftp ?] - [ ? ] --- serveur macintosh permettant via une page http ou https (plutôt 2° soluce...) l'accès aux ftp distants (champs texte "entrer l'url du fichier cible" et un bouton ["GET FILE ! "]......
pour toute info, aide, partage d'infos, merci de poster ou mailer.
de mon côté, je continue mes recherches.
Je pense qu'il faudra que j'ouvre un nouveau topic, mais j'expose tout de même mon cas :
j'ai un pc portable connecté à internet via un phone en 3g, et je voudrais installer des softs qui sont dispos sur le net en ftp (ou qui, pour cause de proxy qui bloque me refuse pas mal de ces fichiers que je voulais installer) je ne veux pas peerer !
de l'autre côté, un Macintosh relié à l'ADSL........
vous devinez déjà la suite !
client (limité aux seuls ports (80 et 443) [browser firefox only] --- proxy de l'opérateur 3g --- [tunnel vpn ?] [ssh ?] - [sftp ?] - [ ? ] --- serveur macintosh permettant via une page http ou https (plutôt 2° soluce...) l'accès aux ftp distants (champs texte "entrer l'url du fichier cible" et un bouton ["GET FILE ! "]......
pour toute info, aide, partage d'infos, merci de poster ou mailer.
de mon côté, je continue mes recherches.
benours
Messages postés
862
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
23 octobre 2011
109
18 août 2008 à 14:19
18 août 2008 à 14:19
Euh ben disons que je suis mauvais aux devinettes et que j'aurais préféré que tu résumes clairement ton problème :)
Et puis d'abord je vais le dire à ton opérateur! :) Nan bon ok j'avoue, je me fais plaisir aussi en modem 3G OTA...
Sauf qu'effectivement, seuls les ports 80 et 443 sont ouverts pour les forfaits 3G grand publique. Il faut un accès "pro" pour disposer de ports type SSH(22) ou FTP(21). Le seul moyen, c'est effectivement de disposer d'un serveur HTTPS qui te permette éventuellement d'entrer une adresse ftp://... et de télécharger le fichier mais c'est un peu tordu.
Il y a éventuellement la solution https://www.logmein.com/ que je n'ai pas testé mais qui permet apparemment de faire du "remote desktop" à travers leur site. J'ai aussi remarqué qu'un serveur Ultra VNC permet désormais de prendre la main à distance par un applet Java (donc par HTTPS) et non plu par client VNC exclusivement. Il faut que ton serveur ne soit pas trop sensible car je ne connais pas le niveau de sécurité d'une telle solution exposée à internet.
Une dernière bidouille si c'est pour faire du DL sur des sites comme Télécharger ou Clubic, c'est d'utiliser Clubic: lorsque tu lances le téléchargement, tu peux choisir ton serveur à la main via un menu déroulant. Là, il y en a quelques uns en FTP mais il en reste toujours un ou deux en HTTP en bas.
Voila, je ne suis pas sur de répondre à ta question, mais je l'espère.
A bientot.
Et puis d'abord je vais le dire à ton opérateur! :) Nan bon ok j'avoue, je me fais plaisir aussi en modem 3G OTA...
Sauf qu'effectivement, seuls les ports 80 et 443 sont ouverts pour les forfaits 3G grand publique. Il faut un accès "pro" pour disposer de ports type SSH(22) ou FTP(21). Le seul moyen, c'est effectivement de disposer d'un serveur HTTPS qui te permette éventuellement d'entrer une adresse ftp://... et de télécharger le fichier mais c'est un peu tordu.
Il y a éventuellement la solution https://www.logmein.com/ que je n'ai pas testé mais qui permet apparemment de faire du "remote desktop" à travers leur site. J'ai aussi remarqué qu'un serveur Ultra VNC permet désormais de prendre la main à distance par un applet Java (donc par HTTPS) et non plu par client VNC exclusivement. Il faut que ton serveur ne soit pas trop sensible car je ne connais pas le niveau de sécurité d'une telle solution exposée à internet.
Une dernière bidouille si c'est pour faire du DL sur des sites comme Télécharger ou Clubic, c'est d'utiliser Clubic: lorsque tu lances le téléchargement, tu peux choisir ton serveur à la main via un menu déroulant. Là, il y en a quelques uns en FTP mais il en reste toujours un ou deux en HTTP en bas.
Voila, je ne suis pas sur de répondre à ta question, mais je l'espère.
A bientot.
benours
Messages postés
862
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
23 octobre 2011
109
18 août 2008 à 14:20
18 août 2008 à 14:20
PS: t'as de la chance, mon dernier message sur ce poste a plus d'un an!! ^^
10 juil. 2007 à 09:34
Merci en tout cas.
11 juil. 2007 à 16:10
Ce que copSSH semble faire, c'est proposer une interface graphique pour réaliser ce que je faisais en ligne de commande (du genre récupérer les compte locaux windows pour en faire des comptes Cygwin). Mais chez moi en tout cas, à chaque nouvel utilisateur se crée effectivement un nouveau répertoire /home/user, mais user peut sans problème remonter l'arborescence jusqu'à la racine, ou encore accéder au répertoire d'un autre utilisateur.
Je ne suis pas sur de moi et ca m'arrangerais mêm de me tromper! Si c'est le cas, merci de me tenir au courant.
12 juil. 2007 à 10:59